:root{
	--glc-navy:#19374e;
	--glc-navy-dark:#102b3e;
	--glc-teal:#238174;
	--glc-teal-dark:#196960;
	--glc-muted:#687b88;
	--glc-border:#d7e2e6;
	--glc-soft:#f7faf9;
	--glc-soft-teal:#edf7f4;
}
.glc-root{position:relative;z-index:999999;font-family:"Proxima Nova",Arial,sans-serif;color:var(--glc-navy-dark)}
.glc-root,.glc-root *{box-sizing:border-box}
.glc-root[hidden],.glc-root [hidden]{display:none!important}
html.glc-consent-stored #glc-banner{display:none!important}

/* First-visit banner: same visual weight as the approved grandliga.com consent bar. */
.glc-banner{position:fixed;right:24px;bottom:24px;left:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;width:min(1120px,calc(100vw - 48px));margin:0 auto;padding:27px 30px 27px 34px;align-items:center;gap:34px;background:#fff;border:1px solid var(--glc-border);border-radius:23px;box-shadow:0 20px 64px rgba(16,43,62,.18);overflow:hidden}
.glc-banner:before{position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--glc-teal);content:""}
.glc-banner__copy{max-width:720px}
.glc-eyebrow{margin:0 0 7px!important;color:var(--glc-teal)!important;font-family:"Sora","Proxima Nova",Arial,sans-serif;font-size:12px!important;font-weight:700!important;letter-spacing:.105em;line-height:1.3!important;text-transform:uppercase}
.glc-title,.glc-modal__title{margin:0 0 10px!important;color:var(--glc-navy)!important;font-family:"Sora","Proxima Nova",Arial,sans-serif;font-size:27px!important;font-weight:700!important;line-height:1.16!important;text-transform:none!important}
.glc-message,.glc-modal__intro,.glc-category p{margin:0!important;color:#536874!important;font-size:16px!important;font-weight:400!important;line-height:1.48!important}
.glc-policy-link{display:inline-block;margin-top:10px;color:var(--glc-teal-dark)!important;font-size:14px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.glc-banner__actions,.glc-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}
.glc-button{appearance:none;display:inline-flex;min-height:50px;padding:0 19px;align-items:center;justify-content:center;color:var(--glc-navy)!important;background:#fff;border:1px solid #c9d8de;border-radius:15px;cursor:pointer;font-family:"Sora","Proxima Nova",Arial,sans-serif;font-size:13.5px;font-weight:700;line-height:1.15;text-align:center;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.glc-button:hover{border-color:#a9c2ca;box-shadow:0 7px 18px rgba(16,43,62,.09);transform:translateY(-1px)}
.glc-button--primary{color:#fff!important;background:var(--glc-teal);border-color:var(--glc-teal);box-shadow:0 8px 18px rgba(35,129,116,.18)}
.glc-button--primary:hover{background:var(--glc-teal-dark);border-color:var(--glc-teal-dark)}
.glc-button--plain{min-height:42px;padding-right:9px;padding-left:9px;color:var(--glc-teal-dark)!important;background:transparent;border-color:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:3px}

/* Preferences modal. Header and footer stay fixed; only the content area scrolls. */
.glc-overlay{position:fixed;inset:0;display:flex;padding:24px;align-items:center;justify-content:center;background:rgba(15,35,49,.62);backdrop-filter:blur(2px);overscroll-behavior:contain}
.glc-modal{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(820px,calc(100dvh - 48px));overflow:hidden;background:#fff;border:1px solid rgba(215,226,230,.95);border-radius:27px;box-shadow:0 26px 90px rgba(16,43,62,.30);outline:none}
.glc-modal__header{display:flex;flex:0 0 auto;padding:28px 30px 20px;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--glc-border);background:#fff}
.glc-modal__header>div{min-width:0}
.glc-modal__title{font-size:30px!important;margin-bottom:0!important}
.glc-close{display:grid;width:48px;height:48px;flex:0 0 48px;padding:0;place-items:center;color:var(--glc-navy)!important;background:#fff;border:1px solid var(--glc-border);border-radius:50%;cursor:pointer;font-family:Arial,sans-serif;font-size:31px;font-weight:300;line-height:1}
.glc-modal__body{flex:1 1 auto;min-height:0;padding:23px 30px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}
.glc-modal__intro{margin-bottom:15px!important}
.glc-category{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-top:14px;padding:21px 22px;align-items:center;gap:22px;background:#fff;border:1px solid #d7e1e4;border-radius:20px}
.glc-category--locked{background:var(--glc-soft);border-color:#cfe2dc}
.glc-category h3,.glc-category label:not(.glc-switch){display:block;margin:0 0 6px;color:var(--glc-navy)!important;font-family:"Sora","Proxima Nova",Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.25}
.glc-category p{font-size:15.5px!important;line-height:1.5!important}
.glc-always-active{display:inline-flex;min-width:118px;min-height:48px;padding:7px 15px;align-items:center;justify-content:center;white-space:normal;color:var(--glc-teal-dark);background:var(--glc-soft-teal);border-radius:999px;font-family:"Sora","Proxima Nova",Arial,sans-serif;font-size:13px;font-weight:700;line-height:1.15;text-align:center}
.glc-switch{position:relative;display:inline-block;width:58px;min-width:58px;height:32px;margin:0}
.glc-switch input{position:absolute;opacity:0;pointer-events:none}
.glc-switch>span{position:absolute;inset:0;background:#afc2cb;border-radius:99px;cursor:pointer;transition:.18s}
.glc-switch>span:before{position:absolute;top:4px;left:4px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(16,43,62,.23);content:"";transition:.18s}
.glc-switch input:checked+span{background:var(--glc-teal)}
.glc-switch input:checked+span:before{transform:translateX(26px)}
.glc-switch input:focus-visible+span{outline:3px solid rgba(35,129,116,.22);outline-offset:2px}
.glc-modal__body>.glc-policy-link{margin:18px 0 6px}
.glc-modal__footer{flex:0 0 auto;padding:18px 30px 28px;background:#fff;border-top:1px solid #edf1f2}
.glc-modal__footer .glc-button{min-width:190px}
.glc-revisit{position:fixed;bottom:18px;left:18px;width:48px;height:48px;padding:0;color:#fff;background:var(--glc-navy);border:0;border-radius:50%;box-shadow:0 8px 24px rgba(16,43,62,.25);cursor:pointer;font-family:"Sora",Arial,sans-serif;font-size:17px;font-weight:700}
html.glc-modal-open,html.glc-modal-open body{overflow:hidden!important;overscroll-behavior:none}
.glua-hp-wrap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

@media(max-width:900px){
	.glc-banner{grid-template-columns:1fr;gap:20px}
	.glc-banner__actions{justify-content:flex-start}
}

@media(max-width:640px){
	.glc-banner{right:10px;bottom:10px;left:10px;width:auto;padding:21px 18px 20px 23px;border-radius:22px;gap:17px}
	.glc-banner:before{width:4px}
	.glc-eyebrow{font-size:10px!important;letter-spacing:.1em}
	.glc-title{font-size:23px!important;line-height:1.18!important}
	.glc-message{font-size:15px!important;line-height:1.48!important}
	.glc-policy-link{font-size:13.5px}
	.glc-banner__actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}
	.glc-banner__actions .glc-button--primary{grid-row:1}
	.glc-banner__actions .glc-button--secondary{grid-row:2}
	.glc-banner__actions .glc-button--plain{grid-row:3;min-height:38px}
	.glc-button{width:100%;min-height:49px;font-size:13.5px}

	/* Mobile preferences: compact proportions of grandliga.com. Header/footer stay fixed;
	   only the settings body scrolls. */
	.glc-overlay{padding:10px;align-items:center}
	.glc-modal{width:100%;max-height:calc(100dvh - 20px);border-radius:24px;overflow:hidden}
	.glc-modal__header{padding:18px 17px 15px;gap:14px}
	.glc-modal__header .glc-eyebrow{margin-bottom:5px!important}
	.glc-modal__title{font-size:23px!important;line-height:1.12!important}
	.glc-close{width:42px;height:42px;flex-basis:42px;font-size:27px}
	.glc-modal__body{padding:16px 17px 10px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
	.glc-modal__intro{font-size:14.5px!important;line-height:1.45!important;margin-bottom:12px!important}
	.glc-category{grid-template-columns:minmax(0,1fr) auto;margin-top:11px;padding:16px 17px;gap:13px;border-radius:18px}
	.glc-category--locked{grid-template-columns:minmax(0,1fr) auto;align-items:center}
	.glc-category h3,.glc-category label:not(.glc-switch){font-size:16px;line-height:1.22;margin-bottom:5px}
	.glc-category p{font-size:14px!important;line-height:1.42!important}
	.glc-always-active{min-width:91px;min-height:40px;padding:6px 10px;font-size:12px;line-height:1.12}
	.glc-switch{width:52px;min-width:52px;height:30px}
	.glc-switch>span:before{top:4px;left:4px;width:22px;height:22px}
	.glc-switch input:checked+span:before{transform:translateX(22px)}
	.glc-modal__body>.glc-policy-link{margin:14px 0 5px;font-size:13.5px}
	.glc-modal__footer{display:flex;flex-direction:column;padding:14px 17px 16px;gap:9px}
	.glc-modal__footer .glc-button{width:100%;min-width:0;min-height:50px;border-radius:25px;font-size:14px}
	.glc-modal__footer .glc-button--primary{order:1}
	.glc-modal__footer .glc-button--secondary{order:2}
	.glc-revisit{bottom:12px;left:12px}
}

@media(max-width:390px){
	.glc-overlay{padding:8px}
	.glc-modal{max-height:calc(100dvh - 16px);border-radius:22px}
	.glc-modal__header{padding:16px 15px 13px}
	.glc-modal__title{font-size:22px!important}
	.glc-close{width:40px;height:40px;flex-basis:40px}
	.glc-modal__body{padding:14px 15px 9px}
	.glc-modal__intro{font-size:14px!important}
	.glc-modal__footer{padding:13px 15px 14px}
	.glc-category{padding:15px 15px}
	.glc-category p{font-size:13.5px!important}
	.glc-modal__footer .glc-button{min-height:48px}
}

/* TRADDER branding overrides */
.glc-root{--glc-navy:#24482d;--glc-dark:#1d3825;--glc-teal:#57b536;--glc-teal-dark:#388f25;--glc-focus:#ffb23b;}
.glc-button--primary{background:#57b536!important;border-color:#57b536!important;}
.glc-button:focus-visible,.glc-close:focus-visible{outline:2px solid #ffad31;outline-offset:3px;}

/* TRADDER Stage: typography refinement only (2026-10-27).
   Use stable system lettering instead of heavy/synthetic Sora bold.
   Preserve layout, spacing, buttons and color palette. */
.glc-root .glc-title,
.glc-root .glc-modal__title {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.22 !important;
  -webkit-font-smoothing: antialiased;
}
.glc-root .glc-eyebrow {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.055em !important;
  line-height: 1.4 !important;
}
.glc-root .glc-category h3,
.glc-root .glc-category label:not(.glc-switch) {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}
.glc-root .glc-button,
.glc-root .glc-policy-link,
.glc-root .glc-always-active {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* TRADDER cookie controls: isolated hover/focus states to override WordPress theme buttons.
   Keep all original dimensions, spacing and layout. */
.glc-root .glc-button--plain,
.glc-root .glc-button--plain:hover,
.glc-root .glc-button--plain:focus,
.glc-root .glc-button--plain:active {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  color: #318426 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transform: none !important;
}
.glc-root .glc-button--plain:hover { color: #205c1a !important; }
.glc-root .glc-button--secondary,
.glc-root .glc-button--secondary:focus,
.glc-root .glc-button--secondary:active {
  background: #fff !important;
  background-color: #fff !important;
  border-color: #c9d8de !important;
  color: #24482d !important;
  transform: none !important;
}
.glc-root .glc-button--secondary:hover {
  background: #f0f7ed !important;
  background-color: #f0f7ed !important;
  border-color: #8ebf82 !important;
  color: #24482d !important;
  box-shadow: 0 3px 11px rgba(36,72,45,.08) !important;
  transform: none !important;
}
.glc-root .glc-button--primary,
.glc-root .glc-button--primary:focus,
.glc-root .glc-button--primary:active {
  background: #57b536 !important;
  background-color: #57b536 !important;
  border-color: #57b536 !important;
  color: #fff !important;
  transform: none !important;
}
.glc-root .glc-button--primary:hover {
  background: #44992c !important;
  background-color: #44992c !important;
  border-color: #44992c !important;
  color: #fff !important;
  transform: none !important;
}
/* Preserve accessible keyboard focus without the theme's orange button fill. */
.glc-root .glc-button:focus-visible,
.glc-root .glc-close:focus-visible {
  outline: 2px solid #efa538 !important;
  outline-offset: 3px;
}
.glc-root .glc-close,
.glc-root .glc-close:hover,
.glc-root .glc-close:focus {
  background: #fff !important;
  color: #24482d !important;
  border-color: #d7e2e6 !important;
}
.glc-root .glc-close:hover { background: #f0f7ed !important; }
.glc-root .glc-policy-link:hover,
.glc-root .glc-policy-link:focus {
  color: #205c1a !important;
  text-decoration: underline !important;
}

/* TRADDER: Customize — orange border only on hover, never an orange fill. */
.glc-root .glc-button--plain {
  min-height: 50px !important;
  padding: 0 12px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #318426 !important;
  box-shadow: none !important;
  transform: none !important;
}
.glc-root .glc-button--plain:hover,
.glc-root .glc-button--plain:focus,
.glc-root .glc-button--plain:active {
  border: 1px solid #eea23a !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #318426 !important;
  box-shadow: none !important;
  transform: none !important;
}
