/* Footer presentation only. Content, destinations, legal copy and form processing are unchanged. */
.site-footer { background:#fff; color:#111; border-top:1px solid #dededb; padding:0; }
/* The legacy PDP shell forces these backgrounds with !important. Keep this exception inside the footer. */
body.page-product .site-footer,body.page-product .site-footer .page-shell { background:#fff !important; color:#111; }
.site-footer :is(a,p,h2,summary) { color:inherit; }
.site-footer .page-shell { box-sizing:border-box; width:min(1312px,calc(100% - 96px)); max-width:none; margin-inline:auto; }
.site-footer .site-footer__top { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:80px; align-items:start; padding-block:64px; border:0; }
.site-footer .site-footer__brand { display:block; padding:0; }
.site-footer .site-footer__kicker { margin:0 0 12px; color:#111; font-size:12px; font-weight:400; letter-spacing:.08em; line-height:1.6; }
.site-footer .site-footer__kicker:first-child { font-size:20px; letter-spacing:.05em; }
.site-footer .site-footer__newsletter { display:block; width:100%; margin:0; padding:0; }
.site-footer .site-footer__newsletter-intro { margin:0 0 24px; }
.site-footer .site-footer__eyebrow { margin:0 0 12px; font-size:11px; font-weight:400; letter-spacing:.12em; }
.site-footer .site-footer__newsletter h2 { margin:0 0 16px; font-size:28px; line-height:1.25; font-weight:400; letter-spacing:0; }
.site-footer .site-footer__newsletter-intro > p:not(.site-footer__eyebrow) { max-width:58ch; margin:0; font-size:14px; line-height:1.6; color:#555; }
.site-footer .newsletter-form { display:flex; align-items:stretch; width:100%; gap:16px; margin:0; }
.site-footer .site-footer__field { flex:1; min-width:0; display:block; margin:0; padding:0; border:0; border-bottom:1px solid #777; border-radius:0; background:transparent; }
.site-footer .newsletter-form input[type=email] { box-sizing:border-box; width:100%; height:48px; min-height:48px; padding:10px 0; border:0; border-radius:0; background:#fff; box-shadow:none; color:#111; font-size:16px; }
.site-footer .newsletter-form input[type=email]::placeholder { color:#555; opacity:1; }
body .site-footer .site-footer__newsletter .newsletter-form .button.button--primary { display:flex; align-items:center; justify-content:center; gap:20px; flex:none; width:auto; min-width:144px; min-height:48px; margin:0; padding:12px 24px; border:1px solid #111; border-radius:0; background:#111; color:#fff; box-shadow:none; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.site-footer .newsletter-form button::after { content:'→'; font-size:20px; line-height:1; }
body .site-footer .site-footer__newsletter .newsletter-form .button.button--primary:hover { border-color:#333; background:#333; color:#fff; }
.site-footer .site-footer__legal-copy,.site-footer .site-footer__newsletter-status { margin:16px 0 0; color:#555; font-size:12px; line-height:1.6; }
.site-footer .site-footer__middle { padding-block:40px; border:0; border-top:1px solid #dededb; }
.site-footer .footer-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; }
.site-footer .footer-column__title { margin:0 0 16px; font-size:14px; font-weight:400; letter-spacing:.03em; }
.site-footer .footer-column ul { margin:0; padding:0; list-style:none; }
.site-footer .footer-column a { display:inline-flex; align-items:center; min-height:40px; font-size:13px; line-height:1.5; text-decoration:none; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer .site-footer__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; margin-top:0; padding-block:24px; border:0; border-top:1px solid #dededb; }
.site-footer .footer-socials,.site-footer .footer-legal { display:flex; flex-wrap:wrap; gap:0 24px; margin:0; padding:0; }
.site-footer .footer-socials a,.site-footer .footer-legal a { display:inline-flex; align-items:center; min-height:44px; padding-left:0; font-size:12px; line-height:1.5; font-weight:400; letter-spacing:0; text-transform:none; text-decoration:none; }
.site-footer .footer-socials a::before,.site-footer .footer-legal a::before { display:none; }
.site-footer .footer-copy { flex-basis:100%; max-width:none; margin:0; color:#555; font-size:12px; line-height:1.6; text-align:left; }
.site-footer :is(a,button,input,summary):focus-visible { outline:2px solid #111; outline-offset:4px; box-shadow:none; }
.site-footer .footer-accordions { display:none; }
.site-footer .footer-legal-accordion { display:none; }
@media (max-width:1023px) {
 .site-footer .page-shell { width:calc(100% - 48px); }
 .site-footer .site-footer__top { grid-template-columns:1fr; gap:32px; padding-block:48px; }
 .site-footer .site-footer__newsletter { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
 .site-footer .site-footer__newsletter-intro { margin:0; }
 .site-footer .newsletter-form { flex-wrap:wrap; gap:16px; }
 .site-footer .site-footer__field { flex-basis:100%; }
 .site-footer .footer-columns { gap:24px; }
 .site-footer .footer-columns { display:none; }
 .site-footer .footer-accordions { display:block; }
 .site-footer .site-footer__middle { padding-block:0; }
 .site-footer .footer-accordion { margin:0; padding:0; border:0; border-bottom:1px solid #dededb; background:#fff; }
 .site-footer .footer-accordion:last-child { border-bottom:0; }
 .site-footer .footer-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:60px; padding:16px 0; list-style:none; font-size:15px; font-weight:400; letter-spacing:0; text-transform:none; cursor:pointer; }
 .site-footer .footer-accordion summary::-webkit-details-marker { display:none; }
 .site-footer .footer-accordion summary::after { content:'+'; color:#111; font-size:22px; font-weight:400; }
 .site-footer .footer-accordion[open] summary::after { content:'−'; }
 .site-footer .footer-accordion ul { margin:0; padding:0 0 16px; list-style:none; }
 .site-footer .footer-accordion a { display:flex; align-items:center; min-height:44px; padding-block:8px; font-size:14px; line-height:1.5; text-decoration:none; }
 .site-footer .footer-legal.footer-legal-desktop { display:none; }
 .site-footer .footer-legal-accordion { display:block; flex-basis:100%; margin-bottom:24px; }
 .site-footer .site-footer__bottom:has(.footer-legal-accordion) { padding-top:0; }
}
@media (max-width:767px) {
 .site-footer .page-shell { width:calc(100% - 40px); }
 .site-footer .site-footer__top { padding-block:36px; gap:32px; }
 .site-footer .site-footer__brand { padding-bottom:28px; border-bottom:1px solid #dededb; }
 .site-footer .site-footer__kicker:first-child { font-size:18px; }
 .site-footer .site-footer__newsletter { display:block; }
 .site-footer .site-footer__newsletter-intro { margin-bottom:24px; }
 .site-footer .site-footer__newsletter h2 { font-size:24px; max-width:20ch; }
 .site-footer .newsletter-form { flex-wrap:nowrap; gap:12px; }
 .site-footer .site-footer__field { flex-basis:auto; }
 body .site-footer .site-footer__newsletter .newsletter-form .button.button--primary { min-width:0; padding-inline:16px; gap:12px; }
 .site-footer .newsletter-form button::after { display:none; }
 .site-footer .site-footer__bottom { display:block; padding-block:24px; }
 .site-footer .footer-socials { gap:0 24px; margin-bottom:12px; }
 .site-footer .footer-legal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .site-footer .footer-copy { margin-top:20px; }
}
