/* Shared shop footer: newsletter, navigation, XFG identity, and legal details. */
.gear-shop-page .xfg-shop-footer--full {
    --footer-gutter:max(32px,calc((100% - 1920px)/2 + 32px));
    --footer-rule:#fff;
    margin:0;
    padding:0;
    border:0;
    background:#1b1b1b;
    color:var(--shop-ink,#e6e8eb);
    font:400 16px/1.4 var(--shop-text,"Segoe UI",sans-serif);
    text-align:left;
    letter-spacing:.6px;
}
.xfg-shop-footer--full *,
.xfg-shop-footer--full *::before,
.xfg-shop-footer--full *::after { box-sizing:border-box; }
.xfg-shop-footer--full a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.xfg-shop-footer--full a:hover { color:#fff; }
.xfg-shop-footer--full :is(a,button,input):focus-visible { outline:2px solid var(--shop-accent,#afd9eb); outline-offset:4px; }
.xfg-footer-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.xfg-shop-footer--full .xfg-footer-newsletter {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:16px;
    padding:32px var(--footer-gutter);
}
.xfg-footer-newsletter__copy { min-width:0; }
.xfg-footer-newsletter__eyebrow {
    display:inline-block;
    margin:0 0 16px;
    padding:4px 8px;
    background:#91e87e;
    color:var(--shop-button-ink,#15191d);
    font:600 14px/1.25 var(--shop-display,"Arial Narrow",sans-serif);
    text-transform:uppercase;
}
.xfg-shop-footer--full .xfg-footer-newsletter h2 { margin:0; color:inherit; font:600 32px/1.1 var(--shop-display,"Arial Narrow",sans-serif); letter-spacing:.3px; text-transform:capitalize; }
.xfg-shop-footer--full .xfg-footer-newsletter__copy p { margin:16px 0 0; font:500 16px/1.4 var(--shop-text,"Segoe UI",sans-serif); }
.xfg-footer-newsletter__form { min-width:0; margin:0; padding:32px; border:0; background:#24272a; }
.xfg-footer-newsletter__fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.xfg-shop-footer--full .xfg-footer-newsletter input {
    width:100%;
    min-width:0;
    min-height:44px;
    margin:0;
    padding:10px 12px;
    border:1px solid #4a4d50;
    border-radius:0;
    background:#1b1b1b;
    color:#fff;
    font:400 16px/1.4 var(--shop-text,"Segoe UI",sans-serif);
}
.xfg-footer-newsletter input::placeholder { color:#b9bec5; opacity:1; }
.xfg-shop-footer--full .xfg-footer-newsletter button {
    min-width:96px;
    min-height:44px;
    margin:0;
    padding:10px 20px;
    border:1px solid transparent;
    border-radius:0;
    background:var(--shop-button,#e6d2a6);
    color:var(--shop-button-ink,#15191d);
    font:600 16px/1.3 var(--shop-display,"Arial Narrow",sans-serif);
    text-transform:none;
    cursor:pointer;
}
.xfg-footer-newsletter button:hover { background:var(--shop-button-hover,#f0dfbc); }
.xfg-footer-newsletter button:disabled { opacity:.6; cursor:wait; }
.xfg-shop-footer--full .xfg-footer-newsletter__privacy,
.xfg-shop-footer--full .xfg-footer-newsletter__status { margin:12px 0 0; color:#dadde0; font:500 12.8px/1.4 var(--shop-text,"Segoe UI",sans-serif); }
.xfg-shop-footer--full .xfg-footer-newsletter__status:empty { display:none; }
.xfg-shop-footer--full .xfg-footer-newsletter__consent { display:flex; align-items:flex-start; gap:10px; min-height:44px; margin-top:12px; padding-block:6px; color:#dadde0; font:500 12.8px/1.4 var(--shop-text,"Segoe UI",sans-serif); text-align:left; cursor:pointer; }
.xfg-shop-footer--full .xfg-footer-newsletter input[type="checkbox"] { flex:none; width:18px; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--shop-button,#e6d2a6); cursor:pointer; }
.xfg-shop-footer--full .xfg-footer-primary {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:16px;
    margin:0;
    padding:32px var(--footer-gutter);
    border-top:1px solid var(--footer-rule);
    border-bottom:1px solid var(--footer-rule);
}
.xfg-shop-footer--full .xfg-footer-primary a { display:flex; align-items:center; min-height:40px; padding:8px; color:#fff; font:500 16px/1.2 "XFG Condensed","Arial Narrow",sans-serif; }
.xfg-shop-footer--full .xfg-footer-identity { display:flex; align-items:center; gap:48px; min-height:156px; padding:32px var(--footer-gutter); }
.xfg-shop-footer--full .xfg-footer-brand { display:flex; flex:none; align-items:center; width:190px; max-width:100%; min-height:44px; padding:0; text-decoration:none; }
.xfg-shop-footer--full .xfg-footer-brand img { display:block; width:100%; max-width:100%; height:auto; border:0; filter:none; opacity:1; }
.xfg-shop-footer--full .xfg-footer-socials { display:flex; flex:none; align-items:center; gap:12px; }
.xfg-shop-footer--full .xfg-footer-socials a { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#24272a; }
.xfg-shop-footer--full .xfg-footer-socials img { display:block; width:24px; height:24px; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); opacity:.8; }
.xfg-shop-footer--full .xfg-footer-socials a:hover img { opacity:1; }
.xfg-shop-footer--full .xfg-footer-notice { margin:0; color:#dadde0; font:400 14px/1.4 "XFG Condensed","Arial Narrow",sans-serif; }
.xfg-shop-footer--full .xfg-footer-notice--desktop { flex:1; min-width:0; margin:0; text-align:left; }
.xfg-shop-footer--full .xfg-footer-notice--mobile { display:none; }
.xfg-shop-footer--full .xfg-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; min-height:123px; padding:32px var(--footer-gutter); background:#24272a; }
.xfg-shop-footer--full .xfg-footer-legal { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding-inline:8px; }
.xfg-shop-footer--full .xfg-footer-legal :is(a,button) { display:flex; align-items:center; min-height:44px; margin:0; padding:8px 0; border:0; background:transparent; color:#fff; font:400 14px/1.4 "XFG Condensed","Arial Narrow",sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.xfg-shop-footer--full [data-shop-payment-methods] { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px; min-width:0; max-width:100%; }
.xfg-shop-footer--full [data-shop-payment-methods]:empty { display:none; }
.xfg-shop-footer--full [data-shop-payment-methods] :is(img,svg) { display:block; flex:none; width:auto; max-width:100%; height:24px; }
.xfg-shop-footer--full [data-shop-payment-methods] .xfg-footer-link-mark { padding:4px; border-radius:3px; background:#fff; }
/* The label stays visible when the shopper types, clears, or autofills. */
.xfg-footer-newsletter__email { position:relative; min-width:0; }
.xfg-shop-footer--full .xfg-footer-newsletter__email input { display:block; height:44px; padding:16px 12px 5px; font-size:16px; line-height:20px; }
.xfg-footer-newsletter__email label { position:absolute; left:13px; top:50%; margin:0; transform:translateY(-50%); color:#b9bec5; font:500 13px/1.2 var(--shop-text); letter-spacing:0; pointer-events:none; transition:top .18s ease,transform .18s ease,font-size .18s ease,color .18s ease; }
.xfg-footer-newsletter__email:focus-within label,
.xfg-footer-newsletter__email input:not(:placeholder-shown)+label { top:5px; transform:none; font-size:8px; color:#fff; }
.xfg-shop-footer--full .xfg-footer-newsletter__email input:focus { outline:3px solid #fff; outline-offset:2px; border-radius:2px; }
.xfg-footer-newsletter__email input:-webkit-autofill+label { top:5px; transform:none; font-size:8px; }
.xfg-shop-footer--full .xfg-footer-notice span[data-shop-year] { display:inline; }
.xfg-footer-notice__status { display:block; }
@media(prefers-reduced-motion:reduce) { .xfg-footer-newsletter__email label { transition:none; } }
/* COD scales its rem-based desktop typography by 1.25 at 1900px.
   Keep the shared XFG page scale unchanged; match that scale in the footer. */
@media(min-width:1900px) {
    .gear-shop-page .xfg-shop-footer--full { --footer-gutter:max(40px,calc((100% - 1920px)/2 + 40px)); font-size:20px; }
    .xfg-shop-footer--full .xfg-footer-newsletter { gap:20px; padding-block:40px; }
    .xfg-footer-newsletter__eyebrow { font-size:16px; margin-bottom:20px; padding:5px 10px; }
    .xfg-shop-footer--full .xfg-footer-newsletter h2 { font-size:40px; }
    .xfg-shop-footer--full .xfg-footer-newsletter__copy p { margin-top:20px; font-size:20px; }
    .xfg-footer-newsletter__form { padding:40px; }
    .xfg-footer-newsletter__fields { gap:10px; }
    .xfg-shop-footer--full .xfg-footer-newsletter input[type="email"] { min-height:47px; height:47px; padding:16px 16px 5px; font-size:16px; }
    .xfg-shop-footer--full .xfg-footer-newsletter button { min-height:47px; height:47px; min-width:98px; padding:8px 20px; font-size:20px; }
    .xfg-shop-footer--full :is(.xfg-footer-newsletter__consent,.xfg-footer-newsletter__status) { margin-top:16px; font-size:16px; }
    .xfg-shop-footer--full .xfg-footer-primary { gap:20px; padding-block:40px; }
    .xfg-shop-footer--full .xfg-footer-primary a { min-height:44px; padding:10px; font-size:20px; }
    .xfg-shop-footer--full .xfg-footer-identity { gap:60px; min-height:178px; padding-block:40px; }
    .xfg-shop-footer--full .xfg-footer-socials { gap:15px; }
    .xfg-shop-footer--full .xfg-footer-notice { font-size:16px; }
    .xfg-shop-footer--full .xfg-footer-bottom { min-height:147px; padding-block:40px; gap:30px; }
    .xfg-shop-footer--full .xfg-footer-legal { gap:10px 30px; padding-inline:10px; }
    .xfg-shop-footer--full .xfg-footer-legal :is(a,button) { font-size:16px; padding-block:10px; }
}
@media(max-width:1000px) and (min-width:701px) {
    .xfg-shop-footer--full .xfg-footer-newsletter { gap:32px; }
    .xfg-shop-footer--full .xfg-footer-identity { flex-wrap:wrap; gap:24px; }
    .xfg-shop-footer--full .xfg-footer-notice--desktop { flex-basis:100%; margin-left:0; }
}
@media(max-width:700px) {
    .gear-shop-page .xfg-shop-footer--full { --footer-gutter:16px; text-align:center; }
    .gear-shop-page .xfg-shop-footer--full .xfg-footer-newsletter { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:48px; }
    .xfg-shop-footer--full .xfg-footer-newsletter h2 { font-size:32px; }
    .xfg-shop-footer--full .xfg-footer-newsletter__copy p { max-width:300px; margin-inline:auto; }
    .xfg-footer-newsletter__form { width:100%; max-width:480px; margin-inline:auto; padding:24px; }
    .xfg-footer-newsletter__fields { grid-template-columns:minmax(0,1fr); gap:12px; }
    .xfg-shop-footer--full .xfg-footer-main { display:flex; flex-direction:column; align-items:center; padding:48px var(--footer-gutter) 0; border-top:1px solid var(--footer-rule); }
    .xfg-shop-footer--full .xfg-footer-identity { display:contents; }
    .xfg-shop-footer--full .xfg-footer-brand { order:1; margin:0 auto 24px; }
    .xfg-shop-footer--full .xfg-footer-primary { order:2; flex-direction:column; flex-wrap:nowrap; gap:12px; width:100%; padding:0; border:0; }
    .xfg-shop-footer--full .xfg-footer-primary a { justify-content:center; min-height:44px; }
    .xfg-shop-footer--full .xfg-footer-socials { order:3; justify-content:center; margin:32px 0 24px; }
    .xfg-shop-footer--full .xfg-footer-notice--desktop { display:none; }
    .xfg-shop-footer--full .xfg-footer-bottom { display:flex; flex-direction:column; gap:0; padding:0; background:#1b1b1b; }
    .xfg-shop-footer--full .xfg-footer-legal { flex-direction:column; flex-wrap:nowrap; gap:12px; width:100%; padding:0 var(--footer-gutter) 32px; }
    .xfg-shop-footer--full .xfg-footer-legal :is(a,button) { justify-content:center; }
    .xfg-shop-footer--full [data-shop-payment-methods] { justify-content:center; width:100%; padding:0 var(--footer-gutter) 48px; }
    .xfg-shop-footer--full .xfg-footer-notice--mobile { display:block; width:100%; padding:32px var(--footer-gutter); background:#24272a; text-align:left; }
}
