/* Shared footer, isolated from homepage and legacy component styles. */
.linen-site #g21-footer{background:#f3f3ef;color:#1c1c1b;padding:54px clamp(20px,3.5vw,68px) 0;margin:0;border-top:1px solid #e6e6df;font:400 14px/1.6 Rubik,Arial,sans-serif;overflow:hidden}
.linen-site #g21-footer *{box-sizing:border-box}
.linen-site #g21-footer .gf-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:clamp(24px,4vw,80px)}
.linen-site #g21-footer h2{font:500 14px/1.5 Rubik,Arial,sans-serif!important;letter-spacing:0!important;color:#1c1c1b!important;margin:0 0 18px!important}
.linen-site #g21-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.linen-site #g21-footer li{padding:0;margin:0;font:inherit}
.linen-site #g21-footer a{color:#5c5c56!important;text-decoration:none!important;box-shadow:none;border:0;transition:color .18s;overflow-wrap:anywhere}
.linen-site #g21-footer a:is(:hover,:focus-visible,:active){color:#111!important;text-decoration:underline!important;text-underline-offset:4px}
.linen-site #g21-footer a:focus-visible{outline:2px solid #947015;outline-offset:4px;border-radius:2px}
.linen-site #g21-footer .gf-contact p{font-size:12px;line-height:1.65;color:#676760;margin:0 0 12px;max-width:265px}
.linen-site #g21-footer .gf-phone{display:block;font-size:19px;font-weight:500;color:#1c1c1b!important;line-height:1.5;white-space:nowrap}
.linen-site #g21-footer .gf-hours{display:block;font-size:11px;color:#707069;margin:4px 0}
.linen-site #g21-footer .gf-email{font-size:12px}
.linen-site #g21-footer .gf-payment{margin-top:28px}
.linen-site #g21-footer .gf-payment h2{margin-bottom:13px!important}
.linen-site #g21-footer .gf-payment ul{display:flex;flex-wrap:wrap;gap:7px}
.linen-site #g21-footer .gf-payment img{display:block;width:44px;height:29px;max-width:none;object-fit:contain;border-radius:3px;filter:none!important}
.linen-site #g21-footer small{display:block;font-size:10px;color:#76766e;line-height:1.5;margin-top:9px}
.linen-site #g21-footer .gf-action{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#222;color:#fff!important;font-size:12px;font-weight:500;line-height:1.5;padding:13px 16px;border-radius:4px;margin-top:24px;max-width:290px}
.linen-site #g21-footer .gf-action:is(:hover,:focus-visible,:active){background:#fbca50;color:#111!important;text-decoration:none!important}
.linen-site #g21-footer .gf-brand{color:#e1e1d8;font-size:clamp(48px,14.3vw,280px);font-weight:600;letter-spacing:-.065em;line-height:1.05;white-space:nowrap;margin:62px 0 28px;user-select:none}
.linen-site #g21-footer .gf-bottom{border-top:1px solid #ddddd5;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:10px;color:#73736b}
.linen-site #g21-footer .gf-bottom>div{display:flex;align-items:center;gap:24px}
.linen-site #g21-footer .gf-locale{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.linen-site #g21-footer .gf-flag{width:12px;height:9px;border-radius:1px;background:linear-gradient(#222 0 33.33%,#bf2e29 33.33% 66.66%,#fbca50 66.66%)}
.linen-site #g21-footer .gf-top{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d0d0c7;border-radius:50%;font-size:17px}
@media(max-width:1000px){.linen-site #g21-footer .gf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}.linen-site #g21-footer .gf-brand{margin-top:40px}.linen-site #g21-footer .gf-signature{display:none}}
@media(max-width:550px){.linen-site #g21-footer{padding-top:32px}.linen-site #g21-footer .gf-grid{gap:28px 18px}.linen-site #g21-footer h2{font-size:13px!important;margin-bottom:13px!important}.linen-site #g21-footer ul{gap:9px;font-size:12px}.linen-site #g21-footer .gf-contact{grid-column:1/-1;border-top:1px solid #ddddd5;padding-top:24px}.linen-site #g21-footer .gf-contact p{max-width:none}.linen-site #g21-footer .gf-phone{font-size:21px}.linen-site #g21-footer .gf-payment{margin-top:23px}.linen-site #g21-footer .gf-action{max-width:none}.linen-site #g21-footer .gf-brand{font-size:13.4vw;margin:32px 0 22px}.linen-site #g21-footer .gf-bottom{flex-wrap:wrap;gap:14px;padding-block:17px}.linen-site #g21-footer .gf-bottom>div{width:100%;justify-content:space-between;gap:12px}}
@media(prefers-reduced-motion:reduce){.linen-site #g21-footer a{transition:none}}

/* Gardinen21 corporate palette: white surface, black typography, yellow accents. */
.linen-site #g21-footer{background:#f5f5f3;color:#111;border-top:4px solid #fbca50;padding-top:40px}
.linen-site #g21-footer h2{color:#111!important}
.linen-site #g21-footer a{color:#484848!important}
.linen-site #g21-footer a:is(:hover,:focus-visible,:active){color:#000!important;text-decoration-color:#d09b16!important}
.linen-site #g21-footer a:focus-visible{outline-color:#111}
.linen-site #g21-footer .gf-phone{color:#111!important}
.linen-site #g21-footer .gf-contact p,.linen-site #g21-footer .gf-hours,.linen-site #g21-footer small{color:#666}
.linen-site #g21-footer .gf-action{background:#fbca50;color:#111!important}
.linen-site #g21-footer .gf-action:is(:hover,:focus-visible,:active){background:#f3bd36;color:#000!important}
.linen-site #g21-footer .gf-payment img{border:1px solid #ededed}
.linen-site #g21-footer .gf-bottom{margin-top:36px;border-top-color:#e5e5e5;color:#666}
.linen-site #g21-footer .gf-top{border-color:#ddd;color:#111!important}
.linen-site #g21-footer .gf-top:hover{background:#fbca50;border-color:#fbca50;text-decoration:none!important}
@media(max-width:550px){.linen-site #g21-footer{padding-top:28px}.linen-site #g21-footer .gf-contact{border-top-color:#e5e5e5}.linen-site #g21-footer .gf-bottom{margin-top:28px}}

/* Inline newsletter campaign, sharing the existing subscription integration. */
.linen-site #g21-newsletter-offer{margin:48px clamp(20px,3.5vw,68px);padding:clamp(24px,3.5vw,48px);background:#f5f5f3;border-radius:18px;display:grid;grid-template-columns: .85fr 1.3fr;gap:40px;color:#111;font:400 14px/1.6 Rubik,Arial,sans-serif}
#g21-newsletter-offer *{box-sizing:border-box}
#g21-newsletter-offer .gn-eyebrow{font-size:11px;font-weight:500;letter-spacing:.12em}
.linen-site #g21-newsletter-offer h2{font:600 clamp(25px,2.4vw,36px)/1.15 Rubik,Arial,sans-serif!important;letter-spacing:-.025em;color:#111;margin:14px 0 16px!important}
#g21-newsletter-offer .gn-heading p{margin:0;color:#555;max-width:360px}
#g21-newsletter-offer fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}
#g21-newsletter-offer legend{font-size:13px;font-weight:500;margin-bottom:10px;padding:0}
#g21-newsletter-offer .gn-options{display:flex;gap:7px;flex-wrap:wrap}
#g21-newsletter-offer .gn-options label{display:flex;align-items:center;gap:7px;padding:10px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:11px;margin:0;flex:1;min-width:94px}
#g21-newsletter-offer .gn-options strong{display:block;font-size:17px;color:#111}
#g21-newsletter-offer .gn-options label:has(input:checked){background:#fff4d4;border-color:#b8860b;box-shadow:inset 0 0 0 1px #b8860b}
#g21-newsletter-offer input[type=radio],#g21-newsletter-offer input[type=checkbox]{appearance:auto;position:static;opacity:1;display:block;flex:none;width:16px;height:16px;margin:2px 0;accent-color:#111}
#g21-newsletter-offer .gn-email-label{display:block;font-size:13px;margin-bottom:6px}
#g21-newsletter-offer .gn-email-row{display:flex;gap:8px}
#g21-newsletter-offer input[type=email]{min-width:0;flex:1;width:100%;height:50px;border:1px solid #d3d3d3;border-radius:5px;background:white;color:#111;padding:12px 14px;font:inherit;font-size:16px}
#g21-newsletter-offer button{display:flex;justify-content:center;align-items:center;gap:16px;border:0;border-radius:5px;background:#fbca50;color:#111;padding:13px 20px;font:500 14px/1.4 Rubik,Arial,sans-serif;cursor:pointer;white-space:nowrap}
#g21-newsletter-offer button:hover{background:#f3bd36;color:#111}
#g21-newsletter-offer button:disabled{opacity:.65;cursor:wait}
#g21-newsletter-offer :is(input,button,a):focus-visible{outline:2px solid #111;outline-offset:3px}
#g21-newsletter-offer .gn-consent{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:11px;line-height:1.6;color:#555}
#g21-newsletter-offer a,#g21-newsletter-offer a:is(:hover,:focus,:active){color:#111!important;text-decoration:underline;text-underline-offset:3px}
#g21-newsletter-offer .gn-note{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;color:#666;margin:12px 0 0}
#g21-newsletter-offer .gn-note i{padding-top:3px}
#g21-newsletter-offer .ln-status:not(:empty){padding:18px;background:#fff;border-left:3px solid #fbca50;border-radius:4px;margin-top:14px}
#g21-newsletter-offer .ln-status[data-error=true]{border-left-color:#b3261e}
#g21-newsletter-offer form[hidden]{display:none!important}
@media(max-width:1000px){.linen-site #g21-newsletter-offer{grid-template-columns:1fr;gap:24px}#g21-newsletter-offer .gn-heading p{max-width:none}}
@media(max-width:550px){.linen-site #g21-newsletter-offer{margin-block:28px;padding:24px 20px;gap:22px;border-radius:12px}#g21-newsletter-offer .gn-email-row{flex-direction:column}#g21-newsletter-offer button{min-height:48px}#g21-newsletter-offer .gn-options label{min-width:calc(33.33% - 7px)}#g21-newsletter-offer .gn-options{gap:6px}}

/* Quiet, oversized original brand mark above the closing legal row. */
.linen-site #g21-footer .gf-logo-signature{margin:56px 0 32px;pointer-events:none;user-select:none}
.linen-site #g21-footer .gf-logo-signature img{display:block;width:100%;max-width:1400px;height:auto;margin:0 auto;opacity:.1;filter:grayscale(1)}
.linen-site #g21-footer .gf-logo-signature+.gf-bottom{margin-top:0}
@media(max-width:550px){.linen-site #g21-footer .gf-logo-signature{margin:32px 0 24px}}
