/* Central Alabama Gun Club - the site's one stylesheet (final pass, 2026-09-29).
   Source of truth: plugins/cagc-site-style/cagc.css in the Central-Alabama-GC repo; build/17 copies it to the site.
   The pages are built from build/blocks.py: every element carries one of the classes below and no layout setting of
   its own, so layout lives here only. Tokens first; everything else uses them. */

/* =================================================================== tokens */
:root{
  --gutter:12px; --content-max:100%;
  --section:48px; --head-gap:16px; --btn-gap:24px; --grid-gap:12px; --block-gap:16px;
  --card-h:240px; --radius:0px; --hero-h:220px;
  --green:#2E612F; --green-dark:#1F4420; --red:#D32128; --red-dark:#A9191F; --text:#212529; --muted:#5A6472; --gray:#F4F6F9; --line:#DCE2EB;
  --font:'Montserrat',sans-serif;
  --h1:clamp(30px,2.5vw + 20px,56px); --h2:clamp(28px,1.53vw + 22px,44px); --h3:clamp(20px,.38vw + 18.5px,24px);
  --header-h:64px; --logo-h:44px; --reading:760px;
  --target:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='29' fill='%23fff' stroke='%232E612F' stroke-width='4'/%3E%3Ccircle cx='32' cy='32' r='21' fill='none' stroke='%232E612F' stroke-width='4'/%3E%3Ccircle cx='32' cy='32' r='13' fill='none' stroke='%232E612F' stroke-width='4'/%3E%3Ccircle cx='32' cy='32' r='5.5' fill='%23D32128'/%3E%3C/svg%3E");
  --arrow-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E");
  --arrow-r:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D32128' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E");
}
@media (min-width:768px){
  :root{--gutter:24px; --section:64px; --head-gap:20px; --grid-gap:20px; --card-h:280px; --radius:12px; --hero-h:280px}
}
@media (min-width:1025px){
  :root{--gutter:32px; --content-max:1320px; --section:88px; --head-gap:24px; --grid-gap:24px; --card-h:320px; --hero-h:360px; --header-h:80px; --logo-h:56px}
}

/* =================================================================== base type */
html{scroll-padding-top:16px}
body,button,input,select,textarea,.elementor-widget,.elementor-kit-7{font-family:var(--font)}
body{color:var(--text);font-size:16px;line-height:1.6;background:#fff;overflow-x:clip}
body *:not(i):not([class*="eicon"]):not([class*="fa-"]):not(svg):not(path){font-family:var(--font)}
a{color:var(--green)}
p,li,td,th,dd,dt,label{overflow-wrap:anywhere}
h1,h2,h3,h4,h5,h6{font-family:var(--font);overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
[id]{scroll-margin-top:16px}
.cagc-text p,.cagc-text ul,.cagc-text ol,.cagc-text table{margin:0 0 12px}
.cagc-text p,.cagc-text li,.cagc-card__line p,.cagc-event__meta{text-wrap:pretty}
.cagc-text>*:last-child,.cagc-text .elementor-widget-container>*:last-child,.elementor-widget-text-editor>*:last-child{margin-bottom:0}
.cagc-text ul,.cagc-text ol{padding-left:22px}
.cagc-text li{margin:0 0 6px}
.cagc-text strong{font-weight:700}

/* =================================================================== sections: one gutter, one content width, one rhythm */
.elementor .e-con.cagc-sec{
  --padding-left:var(--gutter); --padding-right:var(--gutter);
  --padding-top:calc(var(--section) / 2); --padding-bottom:calc(var(--section) / 2);
  --container-max-width:var(--content-max); --content-width:min(100%,var(--content-max));
  --gap:0px; --row-gap:0px; --column-gap:0px; --margin-top:0px; --margin-bottom:0px;
  --min-height:0; --border-radius:0;
}
.elementor .e-con.cagc-sec>.e-con-inner{--gap:0px;--row-gap:0px;--column-gap:0px;gap:0;display:flex;flex-direction:column;align-items:stretch}
.elementor .e-con.cagc-sec .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--width:100%;--min-height:0}
.elementor .e-con.cagc-sec .elementor-widget{--margin-top:0px;--margin-bottom:0px;margin:0;width:100%;max-width:100%}
/* vertical rhythm between blocks inside a section or a column */
.cagc-sec>.e-con-inner>*+*,.cagc-col>*+*,.cagc-group>*+*,.cagc-stack>*+*{margin-top:var(--block-gap)!important}
.cagc-sec>.e-con-inner>.cagc-h+*,.cagc-col>.cagc-h+*,.cagc-stack>.cagc-h+*{margin-top:var(--head-gap)!important}
.cagc-sec>.e-con-inner>*+.cagc-btn,.cagc-sec>.e-con-inner>*+.cagc-link,.cagc-col>*+.cagc-btn,.cagc-col>*+.cagc-link,.cagc-stack>*+.cagc-btn,.cagc-stack>*+.cagc-link,
.cagc-sec>.e-con-inner>*+.cagc-actions,.cagc-col>*+.cagc-actions{margin-top:var(--btn-gap)!important}
.cagc-sec>.e-con-inner>*+.cagc-cards,.cagc-sec>.e-con-inner>*+.cagc-split,.cagc-sec>.e-con-inner>.cagc-cards+*,.cagc-sec>.e-con-inner>.cagc-split+*{margin-top:var(--head-gap)!important}
.cagc-sec>.e-con-inner>.cagc-sub,.cagc-col>.cagc-sub{margin-top:var(--btn-gap)!important}
.cagc-sec>.e-con-inner>.cagc-sub:first-child,.cagc-col>.cagc-sub:first-child{margin-top:0!important}
/* a section that follows a band keeps the same content-to-content gap */
.cagc-sec--band{background-color:var(--gray)}
.cagc-sec--green{background-color:var(--green);color:#fff}
.cagc-sec--green .cagc-h h2,.cagc-sec--green .cagc-h .elementor-heading-title{color:#fff}

/* reading width: paragraphs and lists never run wider than 760px on desktop */
.elementor .e-con.cagc-sec .elementor-widget.cagc-text,.elementor .e-con.cagc-sec .elementor-widget.cagc-lead{max-width:var(--reading)}
.elementor .e-con.cagc-sec .cagc-card .elementor-widget.cagc-text,.elementor .e-con.cagc-sec .cagc-info .elementor-widget.cagc-text,.elementor .e-con.cagc-footer .elementor-widget.cagc-text{max-width:none}

/* =================================================================== headings */
.cagc-h .elementor-heading-title,.cagc-h h2{font-size:var(--h2);line-height:1.12;font-weight:700;text-transform:uppercase;color:var(--green);margin:0;letter-spacing:0}
.cagc-h h3.elementor-heading-title,.cagc-h3 .elementor-heading-title,.cagc-sub .elementor-heading-title{font-size:var(--h3);line-height:1.25;font-weight:700;text-transform:none;color:var(--green);margin:0}
.cagc-sub .elementor-heading-title{text-transform:uppercase}
.cagc-lead p{font-size:16px;line-height:1.6}

/* =================================================================== buttons */
.elementor-widget-button.cagc-btn .elementor-button,.cagc-btn .elementor-button,a.cagc-button,.elementor-widget.cagc-form .elementor-button,
.pmpro_btn:not(.pmpro_btn-plain),.pmpro_btn-submit-checkout,#pmpro_btn-submit,.pmpro_content_message a.pmpro_btn,
.cagc-pmpro input[type=submit],.cagc-pmpro button[type=submit],.cagc-pmpro .button-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 28px;border:0;border-radius:999px;
  background:var(--red);color:#fff;font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;line-height:1.2;
  text-decoration:none;white-space:nowrap;box-shadow:none;transition:background-color .15s ease;cursor:pointer}
.elementor-widget-button.cagc-btn .elementor-button:hover,.cagc-btn .elementor-button:focus-visible,a.cagc-button:hover,.cagc-form .elementor-button:hover,.pmpro_btn:not(.pmpro_btn-plain):hover,#pmpro_btn-submit:hover,.cagc-pmpro input[type=submit]:hover,.cagc-pmpro button[type=submit]:hover{background:var(--red-dark);color:#fff}
.cagc-btn .elementor-button-icon svg,.cagc-btn .elementor-button-icon img{width:22px;height:22px;display:block}
.cagc-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px;flex-direction:row}
.cagc-btn .elementor-button-icon{margin:0!important;order:0}
.cagc-btn .elementor-align-icon-left,.cagc-btn .elementor-button-icon{margin-right:0}
/* secondary: red uppercase text link with the arrow */
.elementor-widget-button.cagc-link .elementor-button,.cagc-link .elementor-button,a.cagc-arrow{
  display:inline-flex;align-items:center;gap:8px;padding:0;min-height:0;border:0;border-radius:0;background:none;color:var(--red);
  font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;box-shadow:none}
/* the arrow is the text's own end padding, so it stays with the last word when the link wraps */
.elementor-widget-button.cagc-link .elementor-button{display:inline;white-space:normal;line-height:1.5}
.cagc-link .elementor-button .elementor-button-content-wrapper{display:inline}
.cagc-link .elementor-button .elementor-button-text{display:inline;padding-right:24px;background:var(--arrow-r) no-repeat right center/16px}
a.cagc-arrow::after{content:"";width:16px;height:16px;flex:0 0 16px;background:var(--arrow-r) center/16px no-repeat}
.cagc-link .elementor-button:hover,a.cagc-arrow:hover{color:var(--red-dark);background:none;text-decoration:underline}
.cagc-btn,.cagc-link{text-align:left}
.cagc-btn .elementor-button-wrapper,.cagc-link .elementor-button-wrapper{text-align:left}
@media (max-width:767px){
  .elementor-widget-button.cagc-btn .elementor-button,.cagc-btn .elementor-button,.cagc-form .elementor-button,#pmpro_btn-submit,.pmpro_btn-submit-checkout,.cagc-pmpro input[type=submit],.cagc-pmpro button[type=submit]{width:100%;display:flex}
}
/* a centred intro (heading, one paragraph, one link) on desktop only */
@media (min-width:1025px){
  .cagc-center>.e-con-inner{align-items:center;text-align:center}
  .cagc-center .cagc-text,.cagc-center .cagc-lead{margin-left:auto;margin-right:auto}
  .cagc-center .cagc-link .elementor-button-wrapper,.cagc-center .cagc-btn .elementor-button-wrapper{text-align:center}
}

/* =================================================================== lists with the target */
ul.cagc-targets{list-style:none;padding:0;margin:0;display:grid;gap:10px}
ul.cagc-targets:not(:last-child){margin-bottom:12px}
ul.cagc-targets li{position:relative;padding-left:32px;margin:0;min-height:22px}
ul.cagc-targets li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;background:var(--target) center/22px no-repeat}
.cagc-text a,ul.cagc-targets a,.cagc-info a{color:var(--green);text-decoration:underline;text-decoration-color:rgba(31,95,168,.4);text-underline-offset:3px}
.cagc-card .cagc-text a,.cagc-footer .cagc-text a{text-decoration:none}
.cagc-text a:hover,ul.cagc-targets a:hover{text-decoration-color:currentColor}
ol.cagc-steps{padding-left:24px}
ol.cagc-steps li::marker{color:var(--green);font-weight:700}

/* =================================================================== header */
.elementor-location-header .e-con.cagc-header{background:var(--green);--padding-top:10px;--padding-bottom:10px;position:relative;z-index:50}
.cagc-header .cagc-header__row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:space-between;gap:16px;min-height:calc(var(--header-h) - 20px)}
.cagc-header .elementor-widget{width:auto!important;flex:0 0 auto;margin:0!important}
.cagc-header .cagc-header__logo{margin-right:auto!important}
.cagc-header .cagc-header__logo img{height:var(--logo-h);width:auto;max-width:none;display:block}
.cagc-header .cagc-header__logo a{display:block;line-height:0}
.cagc-header .cagc-nav--desktop{flex:0 1 auto}
.cagc-nav--desktop .elementor-nav-menu--main>.elementor-nav-menu{display:flex;flex-wrap:nowrap;align-items:center;gap:2px}
.cagc-nav--desktop .elementor-nav-menu--main .elementor-item{color:#fff!important;fill:#fff;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:10px 9px!important;white-space:nowrap;line-height:1.2}
.cagc-nav--desktop .elementor-nav-menu--main .elementor-item:hover,.cagc-nav--desktop .elementor-nav-menu--main .elementor-item.elementor-item-active,.cagc-nav--desktop .elementor-nav-menu--main .current-menu-ancestor>.elementor-item,.cagc-nav--desktop .elementor-nav-menu--main .current-menu-parent>.elementor-item{color:#fff!important;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:6px}
.cagc-nav--desktop .sub-arrow{padding-left:4px}
.cagc-nav--desktop .sub-arrow svg,.cagc-nav--desktop .sub-arrow i{width:9px;height:9px;fill:#fff;color:#fff;font-size:9px}
.cagc-nav--desktop .elementor-nav-menu--main ul.sub-menu{background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:8px 0;min-width:210px}
.cagc-nav--desktop .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item{color:var(--text)!important;background:#fff;font-size:14px;font-weight:600;text-transform:none;padding:10px 18px!important;border:0}
.cagc-nav--desktop .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover{color:var(--green)!important;background:var(--gray)}
.cagc-header .cagc-header__account a{color:#fff;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding:10px 9px;line-height:1.2;display:inline-block}
.cagc-header .cagc-header__account a:hover{text-decoration:underline;text-underline-offset:6px}
.cagc-header .cagc-header__join .elementor-button{min-height:44px;padding:0 22px}
/* phones and tablets: the flat menu behind the hamburger */
.cagc-nav--touch .elementor-menu-toggle{margin:0;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:flex-end;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff;font-size:28px}
.cagc-nav--touch .elementor-menu-toggle svg{width:28px;height:28px;fill:#fff}
.cagc-nav--touch .elementor-menu-toggle i{color:#fff;font-size:28px}
.cagc-nav--touch nav.elementor-nav-menu--dropdown{background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.18);border-top:1px solid var(--line);padding:6px 0 var(--gutter)}
.cagc-nav--touch .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu--dropdown{height:auto;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:20px}
.cagc-nav--touch .elementor-nav-menu--dropdown .elementor-nav-menu{display:block}
.cagc-nav--touch .elementor-nav-menu--dropdown li{border:0}
.cagc-nav--touch .elementor-nav-menu--dropdown a.elementor-item{display:block;color:var(--text)!important;background:#fff!important;font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.3;padding:8px var(--gutter)!important;border:0!important;border-radius:0}
.cagc-nav--touch .elementor-nav-menu--dropdown a.elementor-item:hover,.cagc-nav--touch .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{color:var(--green)!important;background:var(--gray)!important}
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-menu-cta{padding:0 var(--gutter);margin-top:10px}
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-signin{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-menu-cta>a.elementor-item,
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-menu-cta:last-child>a.elementor-item{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px!important;border-radius:999px!important;font-size:15px;letter-spacing:.03em}
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-join>a.elementor-item{background:var(--red)!important;color:#fff!important}
.cagc-nav--touch .elementor-nav-menu--dropdown li.cagc-signin>a.elementor-item{background:#fff!important;color:var(--green)!important;box-shadow:inset 0 0 0 2px var(--green)}
@media (max-width:1024px){ .cagc-only-desktop,.cagc-nav--desktop,.cagc-header__account,.cagc-header__join{display:none!important} }
@media (min-width:1025px){ .cagc-nav--touch{display:none!important} }

/* =================================================================== hero */
.elementor .e-con.cagc-hero{--min-height:var(--hero-h);min-height:var(--hero-h);justify-content:flex-end;background-color:#1b2533;position:relative;isolation:isolate}
.elementor .e-con.cagc-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,30,.72) 0%,rgba(10,18,30,.35) 55%,rgba(10,18,30,.15) 100%);z-index:0;opacity:1;mix-blend-mode:normal;border-radius:0}
.elementor .e-con.cagc-hero>.e-con-inner{position:relative;z-index:1;justify-content:flex-end;height:100%;min-height:calc(var(--hero-h) - var(--section))}
.cagc-hero__title .elementor-heading-title,.cagc-hero__title h1{font-size:var(--h1);line-height:1.08;font-weight:700;text-transform:uppercase;color:#fff;margin:0;letter-spacing:0}
.cagc-hero__sub p{color:#fff;font-size:18px;margin:0}
.cagc-hero--home{--hero-h:520px}
@media (min-width:768px){ .cagc-hero--home{--hero-h:560px} }
@media (min-width:1025px){ .cagc-hero--home{--hero-h:640px} }
.cagc-hero__logo img{width:160px;height:auto;display:block}
@media (min-width:1025px){ .cagc-hero__logo img{width:220px} }
.cagc-hero__tagline p{color:#fff;font-size:clamp(18px,1vw + 14px,26px);line-height:1.35;font-weight:600;margin:0;max-width:720px}
.cagc-hero__tagline p.cagc-hero__place{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:8px;opacity:.95}
.cagc-hero .cagc-btn{margin-top:var(--btn-gap)!important}

/* =================================================================== range status band */
.elementor .e-con.cagc-status{background:var(--gray);--padding-top:12px;--padding-bottom:12px}
.elementor .e-con.cagc-status+.e-con.cagc-sec{--padding-top:calc(var(--section) - 12px)}
.cagc-status>.e-con-inner{display:flex!important;flex-direction:column!important;gap:8px!important}
.cagc-status>.e-con-inner>*+*{margin-top:0!important}
.cagc-status__label .elementor-heading-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0;line-height:1.2}
.cagc-status .marquee-wrapper{background:none;padding:0;overflow:visible;width:100%}
.cagc-status .marquee-wrapper .marquee-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;justify-content:stretch;gap:8px;padding:0;margin:0;max-width:none}
.cagc-status .marquee-wrapper .marquee-content .status-item{display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:100%;justify-self:stretch;box-sizing:border-box;min-width:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;white-space:normal;line-height:1.2}
.cagc-status .marquee-wrapper .marquee-content .status-item p{flex:1 1 auto;min-width:auto;overflow-wrap:normal;word-break:normal;margin:0;padding:0;font-size:12px;font-weight:700;letter-spacing:.02em;text-align:left;color:var(--text)}
.cagc-status .marquee-wrapper .badge{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;line-height:1.2}
.cagc-status .marquee-wrapper .badge-open{background:var(--green)!important;color:#fff}
.cagc-status .marquee-wrapper .badge-closed{background:var(--red)!important;color:#fff}
/* phones 2 + 2 + 1 (the last across the row), tablets 3 + 2, desktop 5 across */
/* four cards (pistol/rifle and shotgun, each on its two shifts; 2026-10-02): 2 + 2 on phones, 4 across from tablets up */
@media (min-width:768px){ .cagc-status .marquee-wrapper .marquee-content{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* =================================================================== two columns */
.cagc-split{display:grid!important;grid-template-columns:1fr;gap:var(--head-gap) var(--grid-gap)}
.cagc-split>.cagc-col{display:flex!important;flex-direction:column;min-width:0}
@media (max-width:767px){ .cagc-split>.cagc-col:has(>.cagc-photo:only-child){order:-1} }
@media (min-width:768px){
  .cagc-split>.cagc-col:has(>.cagc-photo:only-child){align-self:stretch}
  .cagc-split>.cagc-col>.cagc-photo:only-child{flex:1 1 auto;position:relative;aspect-ratio:3/2;height:auto}
  .cagc-split>.cagc-col>.cagc-photo:only-child img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
}
@media (min-width:768px){
  .cagc-split{grid-template-columns:1fr 1fr;column-gap:calc(var(--grid-gap) * 2);align-items:start}
  .cagc-split--center{align-items:center}
}

/* =================================================================== photos */
.cagc-photo img,.elementor-widget-image.cagc-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:var(--radius)}
.cagc-photo .elementor-widget-container,.cagc-photo a{display:block;line-height:0}

/* =================================================================== cards */
.cagc-cards{display:grid!important;grid-template-columns:1fr;gap:var(--grid-gap)!important;width:100%}
@media (min-width:768px){
  .cagc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cagc-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cagc-cards--5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cagc-cards--5>*{grid-column:span 2}
  .cagc-cards--5>*:nth-child(n+4){grid-column:span 3}
}
@media (min-width:1025px){
  .cagc-cards--4,.cagc-cards--8{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.elementor .e-con.cagc-card{
  position:relative;isolation:isolate;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch;
  min-height:var(--card-h);--min-height:var(--card-h);padding:20px;border-radius:var(--radius);overflow:hidden;
  background-color:var(--green);background-size:cover;background-repeat:no-repeat;color:#fff;text-decoration:none;width:auto!important}
.elementor .e-con.cagc-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(8,14,24,.82) 0%,rgba(8,14,24,.45) 45%,rgba(8,14,24,0) 80%);opacity:1;mix-blend-mode:normal;border-radius:0;transition:none}
.elementor .e-con.cagc-card::after{content:"";position:absolute;right:20px;bottom:20px;width:36px;height:36px;border:2px solid #fff;border-radius:50%;background:var(--arrow-w) center/16px no-repeat;box-sizing:border-box;transition:transform .15s ease}
.elementor .e-con.cagc-card:hover::after{transform:translate(2px,-2px)}
.elementor .e-con.cagc-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.cagc-card>*+*{margin-top:6px!important}
.cagc-card__title .elementor-heading-title{color:#fff;font-size:var(--h3);line-height:1.2;font-weight:700;text-transform:uppercase;margin:0}
.cagc-card__line p{text-wrap:balance;color:#fff;font-size:15px;line-height:1.4;margin:0;opacity:.95;padding-right:56px;min-height:36px;display:flex;align-items:center}
.elementor .e-con.cagc-card--green{background-color:var(--green);justify-content:flex-start!important;padding:16px}
.cagc-card--green .cagc-card__title .elementor-heading-title{font-size:18px}
.elementor .e-con.cagc-card--green::after{top:16px;bottom:auto}
.cagc-card--green .cagc-card__title{padding-right:48px;min-height:36px;display:flex;align-items:center}
.elementor .e-con.cagc-card--green::before{display:none}
.cagc-card__body{color:#fff}
.cagc-card__body .cagc-hours{color:#fff}
@media (max-width:767px){ .elementor .e-con.cagc-card{padding:16px} .elementor .e-con.cagc-card::after{right:16px;bottom:16px} .elementor .e-con.cagc-card--green{padding:16px} }
/* cards side by side: the line keeps two lines of room so titles in a row sit at the same height */
@media (min-width:768px){ .cagc-card__line p{min-height:calc(2 * 1.4em)} }
/* four across below 1280: a smaller title */
@media (min-width:1025px) and (max-width:1279px){ .cagc-cards--4 .cagc-card__title .elementor-heading-title,.cagc-cards--8 .cagc-card__title .elementor-heading-title{font-size:18px} .cagc-cards--4 .cagc-card__line p,.cagc-cards--8 .cagc-card__line p{font-size:14px} }
/* three or more across on a tablet: a smaller title so long names fit */
@media (min-width:768px) and (max-width:1024px){ .cagc-cards--3 .cagc-card__title .elementor-heading-title,.cagc-cards--5 .cagc-card__title .elementor-heading-title{font-size:18px} .cagc-cards--3 .cagc-card__line p,.cagc-cards--5 .cagc-card__line p{font-size:14px} }

/* =================================================================== range hours (one component) */
table.cagc-hours{width:100%;border-collapse:collapse;margin:0;font-size:15px;line-height:1.4;color:inherit}
/* the full table reads as a schedule, not a spreadsheet: it stops at 640px on wide screens */
.cagc-hours-full table.cagc-hours,.cagc-hours-full ul.cagc-hours-notes,.cagc-info table.cagc-hours{max-width:640px}
table.cagc-hours th,table.cagc-hours td{padding:6px 0;border:0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;background:none;line-height:1.4}
table.cagc-hours th{font-weight:700;width:38%;padding-right:12px;white-space:nowrap}
table.cagc-hours td{text-align:right}
table.cagc-hours .cagc-hours__line{display:block}
table.cagc-hours tr.is-closed td{color:var(--muted)}
/* compact (home card, footer): each day is a flex row; hours that don't fit beside the day drop under it, full width */
table.cagc-hours--compact{display:block;font-size:12px;line-height:1.25}
table.cagc-hours--compact tbody{display:block}
table.cagc-hours--compact tr{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:10px;row-gap:0;padding:1px 0;margin:0;border-bottom:1px solid rgba(255,255,255,.22)}
table.cagc-hours--compact th,table.cagc-hours--compact td{display:block;padding:0;margin:0;border:0;width:auto;line-height:1.2}
table.cagc-hours--compact th{flex:0 0 auto}
table.cagc-hours--compact td{flex:1 1 auto;text-align:right}
.cagc-card--green table.cagc-hours tr.is-closed td,.cagc-footer table.cagc-hours tr.is-closed td{color:rgba(255,255,255,.78)}
ul.cagc-hours-notes{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-size:16px;max-width:var(--reading)}
ul.cagc-hours-notes li{margin:0}

/* =================================================================== tables (officers) */
table.cagc-officers{width:100%;max-width:var(--reading);border-collapse:collapse;font-size:16px;margin:0}
table.cagc-officers th,table.cagc-officers td{text-align:left;padding:10px 12px;border:1px solid var(--line);background:none}
/* the theme stripes odd table rows; these tables are not striped */
table.cagc-officers tbody>tr>th,table.cagc-officers tbody>tr>td,table.cagc-hours tbody>tr>th,table.cagc-hours tbody>tr>td{background-color:transparent}
table.cagc-officers thead th{background:var(--green);color:#fff;font-weight:700}
table.cagc-officers tbody th{font-weight:700;width:40%}
.cagc-note{color:var(--muted);font-style:italic;margin:12px 0 0}
@media (max-width:767px){
  table.cagc-officers thead{display:none}
  table.cagc-officers,table.cagc-officers tbody,table.cagc-officers tr,table.cagc-officers th,table.cagc-officers td{display:block;width:100%}
  table.cagc-officers tr{border:1px solid var(--line);border-radius:0;padding:10px 12px;margin:0 0 8px}
  table.cagc-officers th,table.cagc-officers td,table.cagc-officers tbody th{border:0;padding:0;width:100%}
  table.cagc-officers tbody th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--green)}
}

/* =================================================================== events (club list) */
ul.cagc-events{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--grid-gap)}
@media (min-width:768px){ ul.cagc-events{grid-template-columns:repeat(2,minmax(0,1fr))} ul.cagc-events>li:last-child:nth-child(odd){grid-column:1 / -1} }
@media (min-width:1280px){
  .cagc-events-month ul.cagc-events{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cagc-events-month ul.cagc-events>li,.cagc-events-month ul.cagc-events>li:last-child:nth-child(odd){grid-column:span 2}
  .cagc-events-month ul.cagc-events>li:nth-child(3n+1):nth-last-child(4),.cagc-events-month ul.cagc-events>li:nth-child(3n+1):nth-last-child(4)~li,
  .cagc-events-month ul.cagc-events>li:nth-child(3n+1):nth-last-child(2),.cagc-events-month ul.cagc-events>li:nth-child(3n+1):nth-last-child(2)~li{grid-column:span 3}
  .cagc-events-month ul.cagc-events>li:nth-child(3n+1):last-child{grid-column:1 / -1}
}
li.cagc-event{margin:0}
a.cagc-event__link{display:flex;gap:14px;align-items:flex-start;height:100%;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);text-decoration:none;position:relative;padding-right:52px;box-sizing:border-box}
a.cagc-event__link::after{content:"";position:absolute;right:14px;top:14px;width:24px;height:24px;background:var(--arrow-r) center/16px no-repeat}
a.cagc-event__link:hover{border-color:var(--green)}
.cagc-event__date{flex:0 0 56px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--green);color:#fff;border-radius:8px;padding:6px 0;line-height:1.05}
.cagc-event__dow,.cagc-event__mon{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cagc-event__day{font-size:22px;font-weight:700}
.cagc-event__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.cagc-event__title{font-weight:700;font-size:16px;line-height:1.3;color:var(--green);text-wrap:balance}
.cagc-event__when{font-size:14px;font-weight:600}
.cagc-event__meta{font-size:15px;color:var(--text);line-height:1.45}
.cagc-events-month+.cagc-events-month{margin-top:var(--btn-gap)}
.cagc-events-month__title{font-size:var(--h3);font-weight:700;color:var(--green);margin:0 0 var(--head-gap);text-transform:uppercase}
.cagc-sec--band a.cagc-event__link{border-color:#fff}

/* =================================================================== galleries: 2 across on phones, 3 above; no orphan tile */
.cagc-gallery .gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);margin:0!important}
.cagc-gallery .gallery-item{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}
.cagc-gallery .gallery-icon,.cagc-gallery .gallery-icon a{display:block;line-height:0}
.cagc-gallery .gallery-item img{width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover;display:block;border:0!important;border-radius:var(--radius)}
.cagc-gallery .gallery br{display:none}
.cagc-gallery .gallery-caption{display:none}
/* phones, two across: an odd last photo spans the row at the same 3:2 shape */
@media (max-width:767px){ .cagc-gallery .gallery-item:last-child:nth-child(odd){grid-column:1 / -1} }
/* three across from 768px on a six-column grid: one photo left over -> the last four sit 2 x 2; two left over -> they share the row */
@media (min-width:768px){
  .cagc-gallery .gallery{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cagc-gallery .gallery-item{grid-column:span 2}
  .cagc-gallery .gallery-item:nth-child(3n+1):nth-last-child(4),.cagc-gallery .gallery-item:nth-child(3n+1):nth-last-child(4)~.gallery-item,
  .cagc-gallery .gallery-item:nth-child(3n+1):nth-last-child(2),.cagc-gallery .gallery-item:nth-child(3n+1):nth-last-child(2)~.gallery-item{grid-column:span 3}
}

/* =================================================================== facilities slides */
.cagc-slides .elementor-slides-wrapper,.cagc-slides .swiper{border-radius:var(--radius);overflow:hidden}
.cagc-slides .swiper-slide{height:360px!important}
@media (min-width:768px){ .cagc-slides .swiper-slide{height:440px!important} }
@media (min-width:1025px){ .cagc-slides .swiper-slide{height:520px!important} }
.cagc-slides .swiper-slide-bg{background-size:cover;background-position:center}
.cagc-slides .swiper-slide-inner{position:absolute!important;inset:0;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:20px!important;text-align:left!important;
  background:linear-gradient(to top,rgba(8,14,24,.85) 0%,rgba(8,14,24,.5) 40%,rgba(8,14,24,0) 75%);text-decoration:none}
.cagc-slides .swiper-slide-contents{max-width:640px!important;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cagc-slides .elementor-slide-heading{font-size:var(--h2)!important;line-height:1.1!important;font-weight:700!important;text-transform:uppercase;color:#fff!important;margin:0!important}
.cagc-slides .elementor-slide-description{font-size:16px!important;line-height:1.5!important;color:#fff!important;margin:0!important;font-weight:500}
.cagc-slides .elementor-slide-button{display:inline-flex!important;align-items:center;gap:10px;min-height:48px;padding:0 24px 0 18px!important;margin-top:16px!important;border:0!important;border-radius:999px!important;background:var(--red)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;letter-spacing:.03em;text-transform:uppercase}
.cagc-slides .elementor-slide-button::before{content:"";width:22px;height:22px;flex:0 0 22px;background:var(--target) center/22px no-repeat}
@media (max-width:767px){ .cagc-slides .elementor-slides-wrapper,.cagc-slides .swiper{border-radius:0} .cagc-slides .elementor-slide-button{width:100%;justify-content:center} .cagc-slides .swiper-slide-contents{width:100%} }
.cagc-slides .swiper-pagination-bullet{background:#fff;opacity:.6}
.cagc-slides .swiper-pagination-bullet-active{opacity:1}
.cagc-slides .elementor-swiper-button{color:#fff}
.cagc-slides .elementor-swiper-button svg{fill:#fff}
@media (max-width:1024px){ .elementor-widget.cagc-slides .elementor-swiper-button{display:none} }
@media (min-width:1025px){ .cagc-slides .swiper-slide-inner{padding:40px 72px!important} }
.cagc-slides .elementor-slide-heading{text-wrap:balance}

/* =================================================================== forms (Elementor Pro form, the contact forms) */
.elementor .e-con.cagc-sec>.e-con-inner>.elementor-widget.cagc-form{max-width:var(--reading)}
.cagc-form .elementor-form-fields-wrapper{margin:0!important;display:grid!important;grid-template-columns:1fr;gap:12px}
.cagc-form .elementor-field-group{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;flex:none}
.cagc-form .elementor-field-group.elementor-field-type-submit{margin-top:12px!important}
.cagc-form .elementor-field,.cagc-form .elementor-field-textual{font-family:var(--font);font-size:16px;line-height:1.4;color:var(--text);background:#fff;border:1px solid #C9D2DE;border-radius:8px;min-height:48px;padding:10px 14px}
.cagc-form textarea.elementor-field{min-height:140px}
.cagc-form .elementor-field:focus{border-color:var(--green);outline:2px solid rgba(31,95,168,.25)}
.cagc-form .elementor-field-label{font-weight:600;font-size:14px;margin-bottom:6px;color:var(--text)}
.cagc-form .elementor-field-type-submit{display:flex;justify-content:flex-start}
@media (min-width:768px){ .cagc-form .elementor-field-type-submit .elementor-button{width:auto;flex:0 0 auto;min-width:160px} }
.cagc-sec--band .cagc-form .elementor-field{border-color:#C9D2DE}

/* =================================================================== contact page info blocks */
.cagc-info{display:grid!important;grid-template-columns:1fr;gap:var(--grid-gap)!important}
/* two blocks with an email address on the first row, three below */
@media (min-width:768px){ .cagc-info{grid-template-columns:repeat(6,minmax(0,1fr))} .cagc-info>*{grid-column:span 2} .cagc-info>*:nth-child(-n+2){grid-column:span 3} }
.elementor .e-con.cagc-info__item{background:var(--gray);border-radius:var(--radius);padding:20px;display:flex!important;flex-direction:column;gap:0;min-height:0;--min-height:0;height:auto}
.cagc-info__item>*+*{margin-top:8px!important}
.cagc-info__item .cagc-info__title .elementor-heading-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;text-transform:uppercase;color:var(--green);margin:0}
.cagc-info__title .elementor-heading-title::before{content:"";width:28px;height:28px;flex:0 0 28px;background-color:var(--green);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.cagc-icon-mail{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.2L4.4 7H3.9v.6L12 13.3l8.1-5.7V7h-.5z'/%3E%3C/svg%3E")}
.cagc-icon-pin{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E")}
.cagc-icon-clock{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10.4 3.6 2.1-1 1.7L11 13V6h2z'/%3E%3C/svg%3E")}
.cagc-icon-facebook{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.6 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7A10 10 0 0 0 22 12z'/%3E%3C/svg%3E")}
.cagc-icon-user{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E")}
.cagc-icon-building{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 9v2h20V9zM4 12v7H3v2h18v-2h-1v-7h-2v7h-3v-7h-2v7h-2v-7H9v7H6v-7z'/%3E%3C/svg%3E")}
.cagc-map iframe{display:block;width:100%;height:320px;border:0;border-radius:var(--radius)}
@media (min-width:1025px){ .cagc-map iframe{height:480px} }

/* =================================================================== footer */
.elementor-location-footer .e-con.cagc-footer{background:var(--green);color:#fff;--padding-top:calc(var(--section) / 2);--padding-bottom:20px}
.cagc-footer a{color:#fff;text-decoration:none}
.cagc-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.cagc-footer .cagc-footer__photo img{width:100%;height:auto;aspect-ratio:21/9;max-height:380px;object-fit:cover;object-position:50% 25%;display:block;border-radius:var(--radius)}
@media (max-width:767px){ .cagc-footer .cagc-footer__photo img{aspect-ratio:auto;height:190px;max-height:190px} }
.cagc-footer>.e-con-inner>*+*{margin-top:var(--head-gap)!important}
.cagc-footer__main{display:flex!important;flex-direction:column!important;gap:var(--head-gap)!important}
.cagc-footer__logo img{width:120px;height:auto;display:block}
.cagc-footer__cols{display:grid!important;grid-template-columns:1fr;gap:var(--head-gap) var(--grid-gap)!important}
@media (min-width:1025px){
  .cagc-footer__main{flex-direction:row!important;align-items:flex-start;gap:calc(var(--grid-gap) * 2)!important}
  .cagc-footer__logo{width:150px!important;flex:0 0 150px}
  .cagc-footer__logo img{width:150px}
  .cagc-footer__cols{flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1280px){ .cagc-footer__cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.5fr)} }
.cagc-footer__logo{text-align:left}
.cagc-footer__col>*+*{margin-top:10px!important}
.cagc-footer table.cagc-hours--compact{max-width:420px}
.cagc-footer__title .elementor-heading-title{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0}
.cagc-footer .cagc-text,.cagc-footer .cagc-text p{color:#fff;font-size:15px;line-height:1.6}
ul.cagc-footer__links{list-style:none;padding:0;margin:0;display:grid;gap:6px}
ul.cagc-footer__links li{margin:0}
.cagc-footer__bottom{border-top:1px solid rgba(255,255,255,.28);padding-top:16px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
.cagc-footer__bottom .cagc-text p{font-size:13px;margin:0}
.cagc-footer__legal ul.cagc-footer__links{display:flex;flex-wrap:wrap;gap:6px 24px;font-size:13px}
@media (min-width:768px){ .cagc-footer__bottom{flex-direction:row!important;justify-content:space-between;align-items:center} .cagc-footer__bottom>*{width:auto!important} }
@media (max-width:767px){ .cagc-footer{text-align:center} .cagc-footer__logo{text-align:center} .cagc-footer__logo img{margin:0 auto} ul.cagc-footer__links{justify-items:center} .cagc-footer__legal ul.cagc-footer__links{justify-content:center} .cagc-footer table.cagc-hours th{text-align:left} }

/* =================================================================== PMPro: checkout, account, login
   PMPro 3 styles itself from custom properties; set them to the site tokens instead of overriding its rules. */
.cagc-pmpro,.pmpro{
  --pmpro--base--spacing--small:12px; --pmpro--base--spacing--medium:var(--grid-gap); --pmpro--base--spacing--large:20px;
  --pmpro--base--border-radius:var(--radius); --pmpro--box-shadow:none; --pmpro--color--border--variation:var(--line);
  --pmpro--color--contrast:var(--text); --pmpro--color--accent:var(--green); --pmpro--color--base:#fff;
  --pmpro--base--font-family:var(--font); font-family:var(--font); color:var(--text)}
@media (max-width:767px){ .cagc-pmpro,.pmpro{--pmpro--base--spacing--large:16px} }
.cagc-pmpro .pmpro_card{margin:0 0 var(--grid-gap)}
/* forms read down one column: on wide screens they stop at 880px instead of stretching across 1320 */
@media (min-width:1025px){ .cagc-pmpro #pmpro_form,.cagc-pmpro .pmpro_login_wrap,.cagc-pmpro #pmpro_account-profile-edit,.cagc-pmpro .pmpro_billing_wrap{max-width:880px} }
.cagc-pmpro .pmpro_card:last-child{margin-bottom:0}
.cagc-pmpro .pmpro_section{margin:0}
.cagc-pmpro h2.pmpro_card_title,.cagc-pmpro .pmpro_card_title,.cagc-pmpro .pmpro_form_legend h2{font-size:var(--h3);font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:0;line-height:1.25}
.cagc-pmpro h2.pmpro_section_title,.cagc-pmpro .pmpro_section_title{font-size:var(--h3);font-weight:700;color:var(--green);text-transform:uppercase;margin:0 0 12px}
.cagc-pmpro .pmpro_form_field{margin:0 0 14px}
.cagc-pmpro .pmpro_form_label,.cagc-pmpro label{font-weight:600;font-size:15px;color:var(--text)}
.cagc-pmpro input.pmpro_form_input,.cagc-pmpro select.pmpro_form_input,.cagc-pmpro textarea.pmpro_form_input,.cagc-pmpro input[type=text],.cagc-pmpro input[type=email],.cagc-pmpro input[type=tel],.cagc-pmpro input[type=password],.cagc-pmpro input[type=date],.cagc-pmpro select{
  width:100%;max-width:100%;box-sizing:border-box;min-height:48px;margin-left:0;margin-right:0;padding:10px 14px;font-family:var(--font);font-size:16px;color:var(--text);background:#fff;border:1px solid #C9D2DE;border-radius:8px}
.cagc-pmpro .pmpro_form_field-date input[type=text],.cagc-pmpro .pmpro_form_field-dob .eergc-bd-input{margin-left:0;width:100%;max-width:100%}
.cagc-pmpro input[type=checkbox]{width:20px;height:20px;min-height:0;margin:2px 10px 0 0;flex:0 0 20px}
.cagc-pmpro .pmpro_form_submit{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
@media (max-width:767px){ .cagc-pmpro .pmpro_form_submit{align-items:stretch} .cagc-pmpro .pmpro_form_submit input[type=submit],.cagc-pmpro .pmpro_form_submit .pmpro_btn,.cagc-pmpro #loginform input[type=submit]{width:100%} }
.cagc-pmpro .pmpro_section{margin:0 0 var(--grid-gap)}
.cagc-pmpro .pmpro_section:last-child{margin-bottom:0}
.cagc-pmpro .pmpro_section_title,.cagc-pmpro h2.pmpro_section_title{margin:0 0 12px!important;padding:0}
.cagc-pmpro .pmpro_card_actions{text-align:left}
.cagc-pmpro .pmpro_card_actions a{white-space:nowrap}
.cagc-pmpro img.avatar,.cagc-pmpro .pmpro_account-profile-avatar{display:none}
.cagc-pmpro #loginform input[type=text],.cagc-pmpro #loginform input[type=password]{border:1px solid #C9D2DE;border-radius:8px;box-shadow:none}
.cagc-pmpro .pmpro_form_field-password-toggle,.cagc-pmpro .pmpro_form_field-password-toggle button{margin:0;padding:0;line-height:1.2;min-height:0}
.cagc-pmpro .pmpro_form_field-password-toggle button{background:none;border:0;color:var(--green);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;width:auto;box-shadow:none;border-radius:0}
.cagc-pmpro #loginform label{font-weight:600;font-size:15px}
.cagc-pmpro .pmpro_message{border-radius:8px}
.cagc-pmpro .pmpro_level_cost_text,.cagc-pmpro .pmpro_level_name_text{font-size:16px}
.cagc-pmpro .pmpro_card_actions a,.cagc-pmpro .pmpro_actions_nav a{color:var(--green);font-weight:600}

/* =================================================================== signing (wonderboy-esign markup, on /sign/, My Account, checkout)
   The plugin ships structure only; its cards, headings, checkboxes and buttons take the site tokens here. */
.cagc-esign .pmpro_form_fieldset,.wbes-checkout{border:0;margin:0 0 var(--grid-gap);padding:0;min-width:0}
@media (min-width:1025px){ .cagc-esign .wbes-form,.cagc-esign .wbes-sign,.cagc-esign .wbes-docs{max-width:880px} }
.cagc-esign .pmpro_card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;margin:0;overflow:hidden}
.cagc-esign .pmpro_card_content{padding:20px}
@media (max-width:767px){ .cagc-esign .pmpro_card_content{padding:16px} }
.cagc-esign legend.pmpro_form_legend,.wbes legend.pmpro_form_legend{float:left;width:100%;padding:0;margin:0 0 12px}
.cagc-esign legend.pmpro_form_legend+*,.wbes legend.pmpro_form_legend+*{clear:both}
.cagc-esign h2.pmpro_form_heading,.wbes h2.pmpro_form_heading{font-size:var(--h3);line-height:1.25;font-weight:700;color:var(--green);text-transform:uppercase;margin:0}
.wbes-doc-text,.wbes-document{font-size:16px;line-height:1.6;color:var(--text)}
.wbes-doc-text h3,.wbes-document h3{font-size:18px;line-height:1.35;font-weight:700;color:var(--text);margin:0 0 12px}
.wbes-doc-text h4,.wbes-document h4{font-size:14px;line-height:1.4;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin:18px 0 8px}
.wbes-doc-text ol,.wbes-doc-text ul,.wbes-document ol,.wbes-document ul{padding-left:22px;margin:0 0 12px}
.wbes-doc-text li,.wbes-document li{margin:0 0 6px}
.wbes-doc-text p,.wbes-document p{margin:0 0 12px}
.cagc-esign-doc .wbes-document h3{font-size:var(--h3);color:var(--green);text-transform:uppercase}
.cagc-esign-doc .wbes-document h4{font-size:16px;margin-top:28px}
.wbes-fields-note,.wbes-signature__notice,.wbes-signature__date{font-size:14px;color:var(--muted);margin:8px 0 0}
.wbes-check{margin:0 0 12px}
.wbes-check label,.cagc-esign .pmpro_form_label-inline{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:15px;line-height:1.45;cursor:pointer}
.wbes-check input[type=checkbox],.cagc-esign input[type=checkbox]{width:20px;height:20px;min-height:0;margin:1px 0 0;flex:0 0 20px;accent-color:var(--green)}
.cagc-esign .pmpro_form_field{margin:0 0 14px}
.cagc-esign .pmpro_form_label{display:block;font-weight:600;font-size:15px;margin:0 0 6px;color:var(--text)}
.cagc-esign input[type=text],.cagc-esign input[type=email],.cagc-esign input[type=tel],.cagc-esign input[type=date],.cagc-esign select,.cagc-esign textarea{
  width:100%;max-width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;font-family:var(--font);font-size:16px;color:var(--text);background:#fff;border:1px solid #C9D2DE;border-radius:8px}
.wbes-signature input[type=text]{font-size:18px;font-weight:600;letter-spacing:.01em}
.cagc-esign .pmpro_form_submit{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:8px}
.cagc-esign button.pmpro_btn:not(.pmpro_btn-plain),.cagc-esign .wbes-submit,.cagc-esign input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:0;border-radius:999px;background:var(--red);color:#fff;font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.cagc-esign button.pmpro_btn:not(.pmpro_btn-plain):hover,.cagc-esign .wbes-submit:hover{background:var(--red-dark)}
@media (max-width:767px){ .cagc-esign button.pmpro_btn:not(.pmpro_btn-plain),.cagc-esign .wbes-submit,.cagc-esign input[type=submit]{width:100%} .cagc-esign .pmpro_form_submit,.cagc-pmpro .pmpro_form_submit{align-items:stretch} .cagc-pmpro .pmpro_form_submit>span,.cagc-pmpro #pmpro_submit_span{display:block;width:100%} }
.wbes-later a,.wbes-action,.wbes-doc__link,.wbes-panel-toggle{color:var(--green);font-weight:600}
.wbes-action+.wbes-action,.wbes-banner a+a{margin-left:14px}
.wbes-panel-toggle{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}
.wbes-panel{border:1px solid var(--line);border-radius:8px;padding:16px;margin:8px 0 12px;background:var(--gray)}
.wbes-notice{border-radius:8px;padding:12px 16px;margin:0 0 var(--grid-gap)}
/* My Documents and the confirmation page */
ul.wbes-doclist,ul.wbes-needs,ul.wbes-family-step__list{display:grid;gap:10px;margin:0;padding:0}
.wbes-doc,.wbes-needs__item,.wbes-family-step__person{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;background:#fff;line-height:1.5;margin:0}
.wbes-doc__title,.wbes-person__name{font-weight:700;color:var(--text)}
.wbes-doc--needed,.wbes-needs__item{border-color:#E7B7BD;background:#FDF5F6}
.wbes-person+.wbes-person{margin-top:16px}
.wbes-person__name{display:block;font-size:17px;margin:0 0 8px}
.wbes-confirm,.wbes-family-step{margin:24px 0 0}
.wbes-confirm__title,.wbes-family-step__title{font-size:var(--h3);font-weight:700;color:var(--green);text-transform:uppercase;margin:0 0 12px}
.wbes-banner{border:1px solid #E7B7BD;background:#FDF5F6;border-radius:var(--radius);padding:14px 16px}
.wbes-banner__title{margin:0 0 6px}
.wbes-banner a{color:var(--red);font-weight:700}

/* =================================================================== My Account (the platform's member dashboard, kept)
   Only the two outer bands follow the site gutter and rhythm; the dashboard's own cards keep their layout. */
.elementor .e-con.cagc-dash{--padding-left:var(--gutter);--padding-right:var(--gutter);--padding-top:calc(var(--section) / 2);--padding-bottom:calc(var(--section) / 2);
  --container-max-width:var(--content-max);--content-width:min(100%,var(--content-max));--margin-top:0px;--margin-bottom:0px}
.cagc-dash .cagc-esign-banner:not(:empty){margin-bottom:var(--grid-gap)}
.cagc-dash-card{background:#fff;border-radius:12px;box-shadow:0 3px 6px rgba(0,0,0,.16);padding:16px 18px}
.cagc-dash-card__title{font-size:16px;font-weight:700;color:var(--text);margin:0 0 8px}
ul.cagc-dash-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px;line-height:1.45}
ul.cagc-dash-list li{margin:0}
.cagc-dash-card__more{margin:10px 0 0;font-size:14px}
.cagc-dash-card__more a{color:var(--green);font-weight:600}
.cagc-dash-family{display:grid;gap:10px;width:100%}
.cagc-dash-family__card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.cagc-dash-family__name{margin:0;font-weight:700;color:var(--text)}
.cagc-dash-family__meta{margin:2px 0 0;font-size:14px;color:var(--muted)}
.cagc-dash-empty{font-size:14px;color:var(--muted);margin:0}
.cagc-dash-add{margin:12px 0 0}
a.cagc-dash-add__link{display:flex;align-items:center;justify-content:center;min-height:44px;border:2px dashed var(--green);border-radius:8px;color:var(--green);font-weight:700;text-decoration:none}
a.cagc-dash-add__link:hover{background:var(--gray)}
.cagc-dash-sub .elementor-heading-title{font-size:var(--h3);font-weight:700;color:var(--green);margin:0}
.cagc-dash .cagc-dash-docs{width:100%}
.cagc-dash .eergc-mdash-payinfo__date{color:rgba(255,255,255,.82)}
/* tablets: the profile card and the middle column side by side, Member Plan and Orientation under them */
@media (min-width:768px) and (max-width:1024px){ .elementor .e-con.cagc-dash-row{flex-wrap:wrap} .elementor .e-con.cagc-dash-row>.e-con{--width:calc(50% - 20px);width:calc(50% - 20px)} .elementor .e-con.cagc-dash-row>.e-con:nth-child(3){--width:100%;width:100%} }
.cagc-dash .cagc-dash-panel p{color:inherit}
.cagc-pmpro .StripeElement,.cagc-pmpro #AccountNumber,.cagc-pmpro #Expiry,.cagc-pmpro #CVV{box-sizing:border-box;min-height:48px;padding:14px;border:1px solid #C9D2DE;border-radius:8px;background:#fff}
/* the photo button: the theme's button reset ([type=button], same weight as the dashboard's class, loaded later) made
   it full width in Safari once a photo was uploaded; hold it to the 110px circle */
.eergc-mdash-avatar button.eergc-mdash-avatar__trigger{display:inline-flex;width:110px;height:110px;min-width:110px;max-width:110px;flex:0 0 110px;padding:0;border:0;border-radius:50%;background:transparent;appearance:none;-webkit-appearance:none;box-sizing:border-box;overflow:hidden}
.eergc-mdash-avatar button.eergc-mdash-avatar__trigger img,.eergc-mdash-avatar button.eergc-mdash-avatar__trigger svg{width:100%;height:100%;object-fit:cover}

/* checkout: long texts fold into expandable sections that stay on the page (J.C., 2026-09-29) */
details.wbes-details{border:1px solid var(--line);border-radius:8px;background:var(--gray);margin:0 0 14px}
details.wbes-details>summary{list-style:none;cursor:pointer;padding:12px 44px 12px 14px;position:relative;font-weight:700;font-size:15px;color:var(--green);line-height:1.35}
details.wbes-details>summary::-webkit-details-marker{display:none}
details.wbes-details>summary::after{content:"";position:absolute;right:14px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);transition:transform .15s ease}
details.wbes-details[open]>summary::after{transform:rotate(-135deg);margin-top:-2px}
details.wbes-details>*:not(summary){padding:0 14px 14px;margin:0}
details.wbes-details .wbes-doc-text{background:#fff;border-radius:6px;padding:14px;margin:0 14px 14px}
/* checkout price: itemized lines, the total in bold, then the renewal */
.cagc-pmpro ul.cagc-fam-lines{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--line)}
.cagc-pmpro ul.cagc-fam-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);margin:0}
.cagc-pmpro ul.cagc-fam-lines li.cagc-fam-line--total{font-weight:700;border-bottom:0}
.cagc-pmpro p.cagc-fam-renews{margin:4px 0 0;font-size:15px;color:var(--muted)}
.cagc-pmpro .pmpro_level_cost_text:empty{display:none}
/* password: the eye sits inside the box, no "Show Password" button */
.cagc-pmpro .pmpro_form_field-password{position:relative}
.cagc-pmpro .pmpro_form_field-password input.pmpro_form_input{padding-right:48px}
.cagc-pmpro .pmpro_form_field-password .pmpro_form_field-password-toggle,
.cagc-pmpro #pmpro_user_fields .pmpro_form_field-password .pmpro_form_field-password-toggle,.cagc-pmpro .pmpro_section #loginform .login-password .pmpro_form_field-password-toggle{grid-area:input;position:relative;z-index:1;justify-self:end;align-self:center;margin:0 4px 0 0;padding:0;display:flex;align-items:center}
.cagc-pmpro .pmpro_form_field-password .pmpro_btn-password-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;margin:0;background:none;border:0;border-radius:6px;box-shadow:none}
.cagc-pmpro .pmpro_btn-password-toggle .pmpro_form_field-password-toggle-state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cagc-pmpro .pmpro_btn-password-toggle svg{stroke:var(--muted);width:20px;height:20px}

/* checkout: family members as cards, added one at a time */
.cagc-pmpro .cagc-fam-count{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0!important}
.cagc-fam-cards{display:grid;gap:12px;margin:0 0 12px}
.cagc-fam-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--gray)}
.cagc-fam-card[hidden]{display:none}
.cagc-fam-card__head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.cagc-fam-card__title{font-weight:700;color:var(--green);text-transform:uppercase;font-size:14px;letter-spacing:.04em}
.cagc-pmpro button.cagc-fam-card__remove{background:none;border:0;padding:4px 0;min-height:0;color:var(--red);font-weight:600;font-size:14px;text-transform:none;letter-spacing:0;width:auto;box-shadow:none;cursor:pointer}
.cagc-fam-card .pmpro_form_field{margin:0 0 10px}
.cagc-fam-card .pmpro_form_field:last-child{margin-bottom:0}
.cagc-pmpro button.cagc-fam-add{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 20px;border:2px dashed var(--green);border-radius:8px;background:#fff;color:var(--green);font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:none;box-shadow:none;cursor:pointer}
.cagc-pmpro button.cagc-fam-add:hover{background:var(--gray)}
.cagc-pmpro button.cagc-fam-add[hidden]{display:none}

/* family rows at checkout (moved here from cagc-family-addon, which printed it in wp_footer) */
.cagc-family-row{display:none!important}
.cagc-family-row.is-on{display:block!important}

/* =================================================================== WordPress pages without Elementor (404, plain pages) */
body.error404 main.site-main,body:not([class*=elementor-page-]) main.site-main:not(:has(.elementor)){box-sizing:border-box;width:100%;max-width:calc(var(--content-max) + 2 * var(--gutter));margin:0 auto;padding:calc(var(--section) / 2) var(--gutter)}
.error404 .site-main>*,.error404 .site-main .page-header,.error404 .site-main .page-content,.error404 .page-header .entry-title{margin-left:0;margin-right:0;padding-left:0;padding-right:0;max-width:none}
.error404 .page-header .entry-title,.site-main .page-header .entry-title{font-size:var(--h2);font-weight:700;text-transform:uppercase;color:var(--green);margin:0 0 var(--head-gap)}
.error404 .page-content p{max-width:var(--reading)}

/* =================================================================== small print */
.cagc-muted p,.cagc-muted{color:var(--muted);font-size:14px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
