/* Golf Gear House footer. Every color is a variable here: swap the palette in one place. */
.tv-ft{
  --ft-bg:#1E2A36;          /* dark footer background (ink) */
  --ft-bg-2:#18222C;        /* legal bar */
  --ft-surface:#253443;     /* contact card, inputs */
  --ft-line:#36485A;        /* dividers on dark */
  --ft-text:#C7D0DA;        /* body text on dark (AA on --ft-bg) */
  --ft-muted:#A3AFBC;       /* small print on dark (AA on --ft-bg) */
  --ft-strong:#FFFFFF;      /* headings / hover on dark */
  --ft-accent:#2F6FD6;      /* primary button, icon fills */
  --ft-accent-hover:#255DB8;
  --ft-accent-soft:#8DB6F2; /* accent text on dark */
  --ft-light:#F3F6FA;       /* trust strip background */
  --ft-card:#FFFFFF;
  --ft-card-line:#E1E6EC;
  --ft-card-line-hover:#B9C6D6;
  --ft-card-title:#1E2A36;
  --ft-card-text:#5B6773;
  --ft-card-icon:#2C5A9A;
  --ft-focus:#8DB6F2;
  --ft-focus-light:#2F6FD6;
  --ft-ok:#7FD8A4;
  --ft-err:#FF9C94;
  --ft-shadow:0 4px 16px rgba(30,42,54,.06);
  --ft-shadow-hover:0 10px 24px rgba(30,42,54,.10);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.55;color:var(--ft-text);margin-top:56px;
}
.tv-ft *,.tv-ft *::before,.tv-ft *::after{box-sizing:border-box}
.tv-ft ul{list-style:none;margin:0;padding:0}.tv-ft p{margin:0}
.tv-ft .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tv-ft .ic{flex:none;display:block}
.tv-ft .ft-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.tv-ft a:focus-visible,.tv-ft button:focus-visible,.tv-ft select:focus-visible{outline:2px solid var(--ft-focus);outline-offset:3px;border-radius:6px}

/* 1. Trust strip */
.ft-trust{background:var(--ft-light);padding:40px 0}
.ft-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ft-card{display:flex;gap:16px;align-items:flex-start;height:100%;padding:24px;background:var(--ft-card);border:1px solid var(--ft-card-line);border-radius:12px;box-shadow:var(--ft-shadow);color:var(--ft-card-text);transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
.ft-card:hover{transform:translateY(-4px);border-color:var(--ft-card-line-hover);box-shadow:var(--ft-shadow-hover)}
.ft-trust .ft-card:focus-visible{outline-color:var(--ft-focus-light)}
.ft-card-ic{color:var(--ft-card-icon);margin-top:2px}
.ft-card>span{display:flex;flex-direction:column;gap:4px}
.ft-card strong{font-family:Montserrat,Inter,sans-serif;font-weight:700;font-size:17px;line-height:1.3;color:var(--ft-card-title);letter-spacing:-.005em}
.ft-card strong+span{font-size:14px;line-height:1.45}

/* dark area */
.ft-dark{background:var(--ft-bg);padding-top:64px}

/* 2. Newsletter + social */
.ft-news{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding-bottom:48px;border-bottom:1px solid var(--ft-line)}
.ft-h2{font-family:Montserrat,Inter,sans-serif;font-weight:700;font-size:22px;line-height:1.25;color:var(--ft-strong);margin:0 0 8px;letter-spacing:-.01em}
.ft-sub{margin-bottom:16px;max-width:34em}
.ft-form{display:flex;gap:8px;max-width:520px}
.ft-input{flex:1;min-width:0;height:48px;padding:0 16px;font:inherit;font-size:15px;color:var(--ft-strong);background:var(--ft-surface);border:1px solid var(--ft-line);border-radius:8px;transition:border-color 200ms ease,box-shadow 200ms ease}
.ft-input::placeholder{color:var(--ft-muted)}
.ft-input:focus{outline:none;border-color:var(--ft-focus);box-shadow:0 0 0 2px var(--ft-focus)}
.ft-input[aria-invalid=true]{border-color:var(--ft-err)}
.ft-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;font:inherit;font-size:15px;font-weight:600;color:#fff;background:var(--ft-accent);border:0;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background-color 200ms ease}
.ft-btn:hover{background:var(--ft-accent-hover)}.ft-btn:disabled{opacity:.7;cursor:wait}
.ft-msg{min-height:0;font-size:14px;font-weight:500}.ft-msg:not(:empty){margin-top:8px}
.ft-msg.ok{color:var(--ft-ok)}.ft-msg.err{color:var(--ft-err)}
.ft-note{margin-top:12px;font-size:13px;color:var(--ft-muted)}
.ft-note .ft-link{color:var(--ft-text)}
.ft-follow{justify-self:end;min-width:min(100%,320px)}
.ft-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.ft-soc{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:var(--ft-strong);border:1px solid var(--ft-line);background:transparent;transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.ft-soc:hover{background:var(--ft-accent);border-color:var(--ft-accent);color:#fff}
.ft-soc:focus-visible{border-radius:50%}

/* links with sliding underline */
.ft-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--ft-text);transition:color 200ms ease}
.ft-link>span{position:relative;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size 200ms ease;padding-bottom:1px}
.ft-link:hover{color:var(--ft-strong)}.ft-link:hover>span{background-size:100% 1px}
.ft-pc{color:var(--ft-text);flex:none}

/* 3. Link columns */
.ft-cols{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:40px;padding:48px 0}
.ft-h{font-family:Montserrat,Inter,sans-serif;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-strong);margin:0 0 16px;line-height:1.3}
.ft-acc{display:none}
.ft-panel{display:grid;grid-template-rows:1fr}.ft-panel>.ft-list{overflow:hidden}
.ft-list li+li{margin-top:8px}
.ft-list .ft-link{font-size:15px;line-height:1.45;padding:2px 0}
.ft-help-card{background:var(--ft-surface);border:1px solid var(--ft-line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}
.ft-help-h{font-family:Montserrat,Inter,sans-serif;font-weight:700;font-size:17px;color:var(--ft-strong);margin-bottom:4px}
.ft-line{display:flex;align-items:center;gap:12px;color:var(--ft-text);overflow-wrap:anywhere}
a.ft-line{transition:color 200ms ease}a.ft-line:hover{color:var(--ft-strong)}
.ft-line .ic{color:var(--ft-accent-soft)}
.ft-btn-ghost{background:transparent;border:1.5px solid var(--ft-accent-soft);color:var(--ft-strong);margin-top:4px;width:100%}
.ft-btn-ghost:hover{background:var(--ft-accent);border-color:var(--ft-accent)}
.ft-badge{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ft-muted);padding-top:12px;border-top:1px solid var(--ft-line)}
.ft-badge .ic{color:var(--ft-accent-soft);margin-top:1px}

/* 4. Preferences + payments */
.ft-prefs{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--ft-line);border-bottom:1px solid var(--ft-line)}
.ft-selects{display:flex;gap:12px;flex-wrap:wrap}
.ft-sel{position:relative;display:inline-flex;align-items:center;color:var(--ft-text)}
.ft-sel>.ic:first-child{position:absolute;left:12px;pointer-events:none;color:var(--ft-accent-soft)}
.ft-sel select{appearance:none;-webkit-appearance:none;height:40px;padding:0 36px 0 40px;font:inherit;font-size:14px;color:var(--ft-strong);background:var(--ft-surface);border:1px solid var(--ft-line);border-radius:8px;cursor:pointer}
.ft-sel select option{color:#1E2A36;background:#fff}
.ft-sel-chev{position:absolute;right:12px;pointer-events:none;color:var(--ft-muted)}
.ft-pays{display:flex;flex-wrap:wrap;gap:8px}
.ft-pay{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:34px;padding:0 10px;border:1px solid var(--ft-line);border-radius:6px;background:var(--ft-surface);color:var(--ft-strong);font-family:Montserrat,Inter,sans-serif;font-weight:700;font-size:12px;letter-spacing:.02em;white-space:nowrap}
.ft-pay>span[aria-hidden]{display:inline-flex;align-items:center;gap:3px}

/* 5. Accessibility statement */
.ft-a11y{max-width:900px;padding:32px 0 48px;font-size:13px;line-height:1.65;color:var(--ft-muted)}
.ft-a11y a{color:var(--ft-text);text-decoration:underline;text-underline-offset:2px}.ft-a11y a:hover{color:var(--ft-strong)}

/* 6. Legal bar */
.ft-legal{background:var(--ft-bg-2);padding:20px 0}
.ft-legal-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ft-logo{display:inline-flex;align-items:center;gap:8px;color:#fff;font-family:Montserrat,Inter,sans-serif;font-weight:800;font-size:18px}
.ft-logo b{color:var(--ft-accent-soft);font-weight:800}
.ft-copy{font-size:13px;color:var(--ft-muted)}
.ft-inline{display:flex;flex-wrap:wrap;align-items:center;font-size:13px}
.ft-inline li+li::before{content:"·";color:var(--ft-muted);margin:0 10px}
.ft-inline .ft-link{color:var(--ft-muted)}.ft-inline .ft-link:hover{color:var(--ft-strong)}
.ft-top{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid var(--ft-line);border-radius:8px;font-size:13px;font-weight:600;color:var(--ft-strong);transition:background-color 200ms ease,border-color 200ms ease}
.ft-top:hover{background:var(--ft-accent);border-color:var(--ft-accent)}

/* Tablet */
@media (max-width:1100px){
  .ft-trust-grid{grid-template-columns:repeat(2,1fr)}
  .ft-news{grid-template-columns:1fr;gap:32px}.ft-follow{justify-self:start}
  .ft-cols{grid-template-columns:1fr 1fr;gap:40px}
}
/* Mobile */
@media (max-width:767px){
  .tv-ft{margin-top:40px}
  .ft-trust{padding:32px 0}
  .ft-trust-grid{grid-template-columns:1fr;gap:12px}
  .ft-card{padding:16px 20px}
  .ft-dark{padding-top:40px}
  .ft-news{padding-bottom:32px}
  .ft-form{flex-direction:column}.ft-form .ft-btn{width:100%}
  .ft-cols{grid-template-columns:1fr;gap:0;padding:16px 0 32px}
  .ft-col{border-bottom:1px solid var(--ft-line)}
  .ft-h{font-size:13px;margin:0}
  .ft-h-t{display:none}
  .ft-acc{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:56px;padding:0;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left}
  .ft-chev{transition:transform 250ms ease;color:var(--ft-muted)}
  .ft-col.open .ft-chev{transform:rotate(180deg)}
  .ft-panel{grid-template-rows:0fr;transition:grid-template-rows 250ms ease,visibility 250ms;visibility:hidden}
  .ft-col.open .ft-panel{grid-template-rows:1fr;visibility:visible}
  .ft-panel>.ft-list{min-height:0}
  .ft-col.open .ft-list{padding-bottom:16px}
  .ft-list .ft-link{min-height:36px}
  .ft-list li+li{margin-top:0}
  .ft-help{padding-top:32px}.ft-h-static{margin-bottom:16px}
  .ft-prefs{flex-direction:column;align-items:stretch}
  .ft-selects{display:grid;grid-template-columns:1fr 1fr}.ft-sel select{width:100%;padding-right:28px}
  .ft-a11y{font-size:12px;padding:24px 0 32px}
  .ft-legal{padding:24px 0 88px}
  .ft-legal-row{flex-direction:column;justify-content:center;text-align:center;gap:12px}
  .ft-copy,.ft-inline{font-size:12px}.ft-inline{justify-content:center}
  .ft-top{position:fixed;right:16px;bottom:16px;z-index:40;width:48px;height:48px;padding:0;justify-content:center;border-radius:50%;background:var(--ft-accent);border-color:var(--ft-accent);box-shadow:0 6px 18px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity 200ms ease,transform 200ms ease,visibility 200ms}
  .ft-top.show{opacity:1;visibility:visible;transform:none}
  .ft-top span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce){
  .tv-ft *,.tv-ft *::before,.tv-ft *::after{transition:none!important;animation:none!important}
  .ft-card:hover{transform:none}
}
