/*
Theme Name: GWClub Base Theme
Theme URI: https://websitesforclubs.com.au/
Author: GWClub
Author URI: https://websitesforclubs.com.au/
Description: Lightweight GWClub base theme for club websites, dashboards, and public pages. Designed to replace general-purpose builder theme dependency while supporting GWClub plugins and shortcodes.
Version: 0.2.55-beta
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: gwclub-base-theme
*/

:root{
    --gwclub-bg:var(--wp--preset--color--background,#EBF9F0);
    --gwclub-surface:var(--wp--preset--color--surface,#FFFFFF);
    --gwclub-primary:var(--wp--preset--color--primary,#256D59);
    --gwclub-primary-dark:var(--wp--preset--color--primary-dark,#18473A);
    --gwclub-text:var(--wp--preset--color--text,#1F2A24);
    --gwclub-border:var(--wp--preset--color--border,#D8E7DD);
    --gwclub-content-size:var(--wp--custom--gwclub--layout--content-size,1290px);
    --gwclub-system-size:var(--wp--custom--gwclub--layout--system-size,1290px);
    --gwclub-narrow-size:var(--wp--custom--gwclub--layout--narrow-size,842px);
    --gwclub-content-gutter:var(--wp--custom--gwclub--layout--content-gutter,24px);
    --gwclub-radius:var(--wp--custom--gwclub--radius,18px);
    --gwclub-shadow:var(--wp--custom--gwclub--shadow,0 12px 30px rgba(34,96,53,.12));
    --gwclub-footer-bg:var(--wp--preset--color--footer-background,var(--gwclub-primary));
    --gwclub-footer-text:var(--wp--preset--color--footer-text,#FFFFFF);
    --gwclub-footer-link:var(--wp--preset--color--footer-link,var(--gwclub-footer-text));
}


/* Websites4clubs site style presets.
   The selected preset is stored by the Webpage Editor and exposed as a body class.
   Presets override the same theme tokens used by the theme, V3 editor output, and plugins/shortcodes. */
body.gwclub-site-style--classic-green,
.gwclub-site-header.gwclub-site-style--classic-green,
.gwclub-v3-block-page.gwclub-site-style--classic-green,
.gwclub-v3-editor-page.gwclub-site-style--classic-green{
    --wp--preset--color--background:#EBF9F0;
    --wp--preset--color--surface:#FFFFFF;
    --wp--preset--color--primary:#256D59;
    --wp--preset--color--primary-dark:#18473A;
    --wp--preset--color--accent:#4CAF50;
    --wp--preset--color--text:#1F2A24;
    --wp--preset--color--border:#D8E7DD;
    --wp--preset--color--footer-background:#256D59;
    --wp--preset--color--footer-text:#FFFFFF;
    --wp--preset--color--footer-link:#FFFFFF;
    --gwclub-bg:#EBF9F0;
    --gwclub-surface:#FFFFFF;
    --gwclub-primary:#256D59;
    --gwclub-primary-dark:#18473A;
    --gwclub-text:#1F2A24;
    --gwclub-border:#D8E7DD;
    --gwclub-footer-bg:#256D59;
    --gwclub-footer-text:#FFFFFF;
    --gwclub-footer-link:#FFFFFF;
    --wp--preset--font-family--heading:"DM Sans",sans-serif;
    --wp--preset--font-family--body:"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.gwclub-site-style--navy-formal,
.gwclub-site-header.gwclub-site-style--navy-formal,
.gwclub-v3-block-page.gwclub-site-style--navy-formal,
.gwclub-v3-editor-page.gwclub-site-style--navy-formal{
    --wp--preset--color--background:#F3F7FB;
    --wp--preset--color--surface:#FFFFFF;
    --wp--preset--color--primary:#1F4E79;
    --wp--preset--color--primary-dark:#143652;
    --wp--preset--color--accent:#2F80C3;
    --wp--preset--color--text:#172331;
    --wp--preset--color--border:#D6E0EA;
    --wp--preset--color--footer-background:#1F4E79;
    --wp--preset--color--footer-text:#FFFFFF;
    --wp--preset--color--footer-link:#FFFFFF;
    --gwclub-bg:#F3F7FB;
    --gwclub-surface:#FFFFFF;
    --gwclub-primary:#1F4E79;
    --gwclub-primary-dark:#143652;
    --gwclub-text:#172331;
    --gwclub-border:#D6E0EA;
    --gwclub-footer-bg:#1F4E79;
    --gwclub-footer-text:#FFFFFF;
    --gwclub-footer-link:#FFFFFF;
    --wp--preset--font-family--heading:"DM Sans",sans-serif;
    --wp--preset--font-family--body:"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.gwclub-site-style--maroon-heritage,
.gwclub-site-header.gwclub-site-style--maroon-heritage,
.gwclub-v3-block-page.gwclub-site-style--maroon-heritage,
.gwclub-v3-editor-page.gwclub-site-style--maroon-heritage{
    --wp--preset--color--background:#FBF5F1;
    --wp--preset--color--surface:#FFFFFF;
    --wp--preset--color--primary:#7A2634;
    --wp--preset--color--primary-dark:#541B25;
    --wp--preset--color--accent:#C78A47;
    --wp--preset--color--text:#2C2020;
    --wp--preset--color--border:#E8D7D2;
    --wp--preset--color--footer-background:#7A2634;
    --wp--preset--color--footer-text:#FFFFFF;
    --wp--preset--color--footer-link:#FFFFFF;
    --gwclub-bg:#FBF5F1;
    --gwclub-surface:#FFFFFF;
    --gwclub-primary:#7A2634;
    --gwclub-primary-dark:#541B25;
    --gwclub-text:#2C2020;
    --gwclub-border:#E8D7D2;
    --gwclub-footer-bg:#7A2634;
    --gwclub-footer-text:#FFFFFF;
    --gwclub-footer-link:#FFFFFF;
    --wp--preset--font-family--heading:"DM Sans",sans-serif;
    --wp--preset--font-family--body:"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.gwclub-site-style--charcoal-gold,
.gwclub-site-header.gwclub-site-style--charcoal-gold,
.gwclub-v3-block-page.gwclub-site-style--charcoal-gold,
.gwclub-v3-editor-page.gwclub-site-style--charcoal-gold{
    --wp--preset--color--background:#F5F2EA;
    --wp--preset--color--surface:#FFFFFF;
    --wp--preset--color--primary:#2F3437;
    --wp--preset--color--primary-dark:#181C1F;
    --wp--preset--color--accent:#F1C85B;
    --wp--preset--color--text:#222425;
    --wp--preset--color--border:#DED7C6;
    --wp--preset--color--footer-background:#2F3437;
    --wp--preset--color--footer-text:#F8F0DA;
    --wp--preset--color--footer-link:#F1C85B;
    --gwclub-bg:#F5F2EA;
    --gwclub-surface:#FFFFFF;
    --gwclub-primary:#2F3437;
    --gwclub-primary-dark:#181C1F;
    --gwclub-text:#222425;
    --gwclub-border:#DED7C6;
    --gwclub-footer-bg:#2F3437;
    --gwclub-footer-text:#F8F0DA;
    --gwclub-footer-link:#F1C85B;
    --wp--preset--font-family--heading:"DM Sans",sans-serif;
    --wp--preset--font-family--body:"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.gwclub-site-style--light-neutral,
.gwclub-site-header.gwclub-site-style--light-neutral,
.gwclub-v3-block-page.gwclub-site-style--light-neutral,
.gwclub-v3-editor-page.gwclub-site-style--light-neutral{
    --wp--preset--color--background:#F6F6F4;
    --wp--preset--color--surface:#FFFFFF;
    --wp--preset--color--primary:#4F6F68;
    --wp--preset--color--primary-dark:#354B47;
    --wp--preset--color--accent:#78958E;
    --wp--preset--color--text:#242827;
    --wp--preset--color--border:#DADDD8;
    --wp--preset--color--footer-background:#4F6F68;
    --wp--preset--color--footer-text:#FFFFFF;
    --wp--preset--color--footer-link:#FFFFFF;
    --gwclub-bg:#F6F6F4;
    --gwclub-surface:#FFFFFF;
    --gwclub-primary:#4F6F68;
    --gwclub-primary-dark:#354B47;
    --gwclub-text:#242827;
    --gwclub-border:#DADDD8;
    --gwclub-footer-bg:#4F6F68;
    --gwclub-footer-text:#FFFFFF;
    --gwclub-footer-link:#FFFFFF;
    --wp--preset--font-family--heading:"DM Sans",sans-serif;
    --wp--preset--font-family--body:"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--gwclub-bg);color:var(--gwclub-text);font-family:var(--wp--preset--font-family--body,"Overpass",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);font-size:var(--wp--preset--font-size--normal,17px);line-height:1.5;}
a{color:var(--gwclub-primary);}
img{max-width:100%;height:auto;}
.gwclub-skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.gwclub-skip-link:focus{left:16px;top:16px;z-index:999999;width:auto;height:auto;padding:10px 14px;background:#fff;color:#000;border:2px solid var(--gwclub-primary);}

.gwclub-site-header{position:relative;z-index:50;background:var(--wp--preset--color--background,var(--gwclub-bg));border-bottom:1px solid var(--wp--preset--color--border,var(--gwclub-border));}
.gwclub-site-header-inner{width:min(100%,var(--gwclub-content-size));margin:0 auto;padding:8px var(--gwclub-content-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;}
.gwclub-branding{display:flex;align-items:center;flex:0 0 auto;min-width:0;}
.gwclub-logo,.custom-logo-link{display:inline-flex;align-items:center;line-height:0;}
.gwclub-logo img,.custom-logo-link img{display:block;width:auto;max-width:150px;max-height:56px;object-fit:contain;}
.gwclub-site-title{font-family:var(--wp--preset--font-family--heading,"DM Sans",sans-serif);font-weight:800;font-size:1.25rem;color:var(--gwclub-primary-dark);text-decoration:none;}
.gwclub-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0;flex:1 1 auto;}
.gwclub-primary-nav{min-width:0;}
.gwclub-menu{list-style:none;margin:0;padding:0;}
.gwclub-primary-menu,.gwclub-public-menu,.gwclub-system-header-menu,.gwclub-system-menu{display:flex;align-items:center;justify-content:flex-end;gap:24px;list-style:none;margin:0;padding:0;}
.gwclub-primary-menu li,.gwclub-public-menu li,.gwclub-system-header-menu li,.gwclub-system-menu li{margin:0;padding:0;list-style:none;}
.gwclub-primary-menu a,.gwclub-public-menu a,.gwclub-system-header-menu a,.gwclub-system-menu a{display:inline-flex;align-items:center;min-height:40px;color:var(--gwclub-text);font-family:var(--wp--preset--font-family--heading,"DM Sans",sans-serif);font-size:.86rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
.gwclub-primary-menu a:hover,.gwclub-primary-menu .current-menu-item>a,.gwclub-public-menu a:hover,.gwclub-system-header-menu a:hover,.gwclub-system-menu a:hover{color:var(--gwclub-primary);}
.gwclub-menu-item--members>a,.gwclub-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:999px;color:var(--wp--preset--color--button-text,#fff)!important;font-family:var(--wp--preset--font-family--heading,"DM Sans",sans-serif);font-size:.88rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);}.gwclub-header-cta{background:var(--wp--preset--color--primary,var(--gwclub-primary));}.gwclub-menu-item--members>a{background:var(--gwclub-members-button,#667085);}.gwclub-menu-item--members>a:hover,.gwclub-menu-item--members>a:focus{background:var(--gwclub-members-button-hover,#4b5563);color:#fff!important;}
.gwclub-mobile-menu-toggle{display:none;}

.gwclub-site-main{min-height:0;}
/* Keep footer directly after rendered page content. Individual full-screen app views can opt into their own viewport sizing. */
.gwclub-content-wrap,.gwclub-page-wrap,.gwclub-front-page-wrap{width:min(100%,var(--gwclub-content-size));margin:0 auto;padding:44px var(--gwclub-content-gutter);}
.gwclub-front-page-wrap,.gwclub-theme-content-container-none .gwclub-page-wrap{width:100%;max-width:none;padding:0;}
.gwclub-page-content,.gwclub-front-page-content{margin:0;}
.gwclub-entry-content>*:first-child{margin-top:0;}
.gwclub-entry-content>*:last-child{margin-bottom:0;}
.gwclub-content-card{background:var(--gwclub-surface);border:1px solid var(--gwclub-border);border-radius:var(--gwclub-radius);box-shadow:var(--gwclub-shadow);padding:clamp(24px,4vw,52px);}
.gwclub-system-page .gwclub-page-wrap{width:min(100%,var(--gwclub-system-size));padding:44px var(--gwclub-content-gutter);}
.gwclub-system-page .gwclub-page-content{background:var(--gwclub-surface);border:1px solid var(--gwclub-border);border-radius:var(--gwclub-radius);box-shadow:var(--gwclub-shadow);padding:clamp(24px,4vw,52px);}
.gwclub-page-title-hidden .gwclub-entry-header{display:none;}
.gwclub-entry-title,.gwclub-archive-header h1{margin:0 0 24px;text-align:center;color:var(--gwclub-primary-dark);font-family:var(--wp--preset--font-family--heading,"DM Sans",sans-serif);font-size:clamp(32px,5vw,54px);line-height:1.1;}
.gwclub-theme-page-layout-narrow .gwclub-page-wrap{width:min(100%,var(--gwclub-narrow-size));}
.gwclub-theme-page-layout-full-width .gwclub-page-wrap,.gwclub-theme-page-layout-full-width .gwclub-front-page-wrap{width:100%;max-width:none;}
.gwclub-theme-content-container-boxed .gwclub-page-content{width:min(100%,var(--gwclub-content-size));margin-left:auto;margin-right:auto;background:var(--gwclub-surface);border:1px solid var(--gwclub-border);border-radius:var(--gwclub-radius);box-shadow:var(--gwclub-shadow);}
.gwclub-theme-content-container-none .gwclub-page-content{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;}

.gwclub-site-footer,.gwclub-custom-site-footer{background:var(--gwclub-footer-bg);color:var(--gwclub-footer-text);margin-top:0;}
.gwclub-site-footer-inner{width:min(100%,var(--gwclub-content-size));margin:0 auto;padding:36px var(--gwclub-content-gutter);display:grid;gap:18px;text-align:center;}
.gwclub-site-footer a,.gwclub-custom-site-footer a{color:var(--gwclub-footer-link);}
.gwclub-footer-menu{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.gwclub-protected-footer-credit{background:var(--gwclub-footer-bg);color:var(--gwclub-footer-text);display:grid;gap:4px;font-size:.9rem;line-height:1.35;padding:12px var(--gwclub-content-gutter) 20px;text-align:center;}
.gwclub-protected-footer-credit a{color:var(--gwclub-footer-link);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.gwclub-protected-footer-credit__marketing{font-size:.84rem;}

@media (max-width:1180px){
    .gwclub-site-header-inner{flex-wrap:wrap;gap:12px;min-height:60px;}
    .gwclub-logo img,.custom-logo-link img{max-width:min(150px,48vw);max-height:54px;}
    .gwclub-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:0;border-radius:999px;background:var(--wp--preset--color--primary,var(--gwclub-primary));color:var(--wp--preset--color--button-text,#fff);font:inherit;font-weight:800;line-height:1;text-transform:uppercase;cursor:pointer;}
    .gwclub-mobile-menu-toggle__icon{display:inline-grid;gap:4px;width:18px;}
    .gwclub-mobile-menu-toggle__icon span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor;}
    .gwclub-site-header .gwclub-header-actions{display:none!important;flex:0 0 100%;width:100%;margin-top:6px;padding:12px;border:1px solid var(--gwclub-border);border-radius:16px;background:var(--gwclub-surface);box-shadow:0 14px 32px rgba(31,42,36,.12);}
    .gwclub-site-header .gwclub-header-actions.is-open{display:flex!important;flex-direction:column!important;gap:10px;align-items:stretch!important;}
    .gwclub-site-header .gwclub-primary-nav,.gwclub-site-header .gwclub-system-header-menu,.gwclub-site-header .gwclub-header-cta{width:100%;}
    .gwclub-site-header .gwclub-primary-menu,.gwclub-site-header .gwclub-public-menu,.gwclub-site-header .gwclub-system-header-menu,.gwclub-site-header .gwclub-system-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;width:100%;margin:0!important;padding:0!important;list-style:none!important;}
    .gwclub-site-header .gwclub-primary-menu li,.gwclub-site-header .gwclub-public-menu li,.gwclub-site-header .gwclub-system-header-menu li,.gwclub-site-header .gwclub-system-menu li{display:block;width:100%;margin:0;}
    .gwclub-site-header .gwclub-primary-menu a,.gwclub-site-header .gwclub-public-menu a,.gwclub-site-header .gwclub-system-header-menu a,.gwclub-site-header .gwclub-system-menu a,.gwclub-site-header .gwclub-header-cta{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border-radius:10px;text-decoration:none;box-sizing:border-box;}
    .gwclub-site-header .gwclub-menu-item--members>a,.gwclub-site-header .gwclub-header-cta{justify-content:center;color:var(--wp--preset--color--button-text,#fff)!important;}
    .gwclub-site-header .gwclub-header-cta{background:var(--wp--preset--color--primary,var(--gwclub-primary));}
    .gwclub-site-header .gwclub-menu-item--members>a{background:var(--gwclub-members-button,#667085);}
}
@media (max-width:760px){
    .gwclub-content-wrap,.gwclub-page-wrap{padding-top:24px;padding-bottom:24px;}
    .gwclub-system-page .gwclub-page-content{padding:20px 14px;}
}


/* Webpage Editor footer layout controls.
   Footer Layout controls the width of the editable footer band and the protected credit band.
   Section Layout / Content Layout remain owned by the selected footer Section block. */
.gwclub-custom-site-footer--layout-normal,
.gwclub-custom-site-footer--layout-narrow,
.gwclub-custom-site-footer--layout-wide{background:transparent;}
.gwclub-custom-site-footer--layout-normal .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer--layout-normal .gwclub-protected-footer-credit{max-width:var(--gwclub-content-size);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer--layout-narrow .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer--layout-narrow .gwclub-protected-footer-credit{max-width:var(--wp--custom--gwclub--layout--narrow-size,842px);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer--layout-wide .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer--layout-wide .gwclub-protected-footer-credit{max-width:var(--wp--custom--gwclub--layout--wide-size,1520px);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer--layout-full .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer--layout-full .gwclub-protected-footer-credit{max-width:none;margin-left:0;margin-right:0;}
.gwclub-custom-site-footer .gwclub-protected-footer-credit{background:var(--gwclub-footer-bg);}


/* Fallback for footer layout when older footer.php/theme cache does not put the layout class on <footer>.
   The rendered V3 footer site-part already carries the selected layout class, so this makes the
   visual layout work from that source of truth as well. */
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-normal),
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-narrow),
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-wide){background:transparent;}
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-normal) .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-normal) .gwclub-protected-footer-credit{max-width:var(--gwclub-content-size);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-narrow) .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-narrow) .gwclub-protected-footer-credit{max-width:var(--wp--custom--gwclub--layout--narrow-size,842px);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-wide) .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-wide) .gwclub-protected-footer-credit{max-width:var(--wp--custom--gwclub--layout--wide-size,1520px);margin-left:auto;margin-right:auto;}
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-full) .gwclub-v3-footer-site-part,
.gwclub-custom-site-footer:has(.gwclub-v3-footer-site-part--layout-full) .gwclub-protected-footer-credit{max-width:none;margin-left:0;margin-right:0;}
