
.sf { --bg:#fff; --text:#151515; --border:#e6e6e6; background:#fff; color:#151515; font-size:15px; line-height:1.6; }
.sf * { box-sizing:border-box; }
.sf__wrap { max-width:1440px; margin:auto; padding:0 40px; }
.sf__signup { background:#ECF3FF; padding:38px 0; }
.sf__signup .sf__wrap { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.sf h2 { font-family:var(--FONT-STACK-HEADING); font-weight:700; font-size:30px; line-height:1.15; margin:0 0 10px; max-width:22ch; }
.sf p { margin:0; }
.sf__signup p { font-size:15px; }
.sf .newsletter-form { margin:0; }
.sf .input-group { display:flex; flex-direction:row; gap:8px; margin:0; }
.sf .input-group__fields { flex:1; min-width:0; max-width:none; }
.sf .input-group__item { margin:0; padding:0; max-width:none; }
.sf .input-group__field { width:100%; background:#fff; border:1px solid #BACDF2; border-radius:6px; height:52px; padding:12px 16px; font-size:15px; }
.sf .input-group__item--btn { width:auto; flex:none; }
.sf .input-group__btn { min-height:52px; height:52px; background:#151515; color:#fff; border:0; border-radius:6px; padding:0 24px; font-size:14px; letter-spacing:0; text-transform:none; }
.sf a { color:inherit; }
.sf a:hover { text-decoration:underline; text-underline-offset:4px; }
.sf :is(a,button,input,summary):focus-visible { outline:2px solid #151515; outline-offset:4px; }
.sf__main { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:40px; padding-top:48px; padding-bottom:42px; }
.sf__logo { display:block; width:180px; margin-bottom:18px; }
.sf__logo img { display:block; width:100%; height:auto; filter:brightness(0); }
.sf__brand p { max-width:40ch; margin-bottom:16px; }
.sf__brand .sf__company { max-width:none; }
.sf__email { display:inline-block; text-decoration:underline; text-underline-offset:4px; margin-bottom:18px; }
.sf .social-sharing-wrapper { margin:0; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.sf .social-sharing-icon { margin:0; }
.sf .social-sharing-icon svg { width:22px; height:22px; }
.sf .follow-on-shop { flex-basis:100%; margin-top:4px; }
.sf__menu-title { font-family:var(--FONT-STACK-HEADING); font-size:17px; font-weight:700; list-style:none; margin:0 0 16px; }
.sf__menu-title::-webkit-details-marker { display:none; }
.sf__menu ul { list-style:none; padding:0; margin:0; }
.sf__menu li { margin:0 0 9px; }
.sf__legal { border-top:1px solid #e6e6e6; padding-top:22px; padding-bottom:26px; font-size:12px; color:#595959; }
.sf__legal-top,.sf__legal-bottom { display:flex; justify-content:space-between; gap:24px; align-items:center; }
.sf__policies { display:flex; flex-wrap:wrap; gap:8px 18px; margin:14px 0 20px; }
.sf .localization-form { margin:0; }
.sf .payment-icon-list { display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end; padding:0; margin:0; list-style:none; }
.sf .payment-icon-list li { margin:0; }
.sf .payment-icon { width:32px; height:21px; }
@media(min-width:750px) { .sf__menu-title { pointer-events:none; } }
@media(max-width:749px) {
 .sf__wrap { padding-left:20px; padding-right:20px; }
 .sf__signup { padding:28px 0; }
 .sf__signup .sf__wrap { display:block; }
 .sf h2 { font-size:26px; max-width:21ch; }
 .sf__signup p { margin-bottom:18px; font-size:14px; }
 .sf .input-group__btn { padding:0 18px; }
 .sf__main { display:block; padding-top:30px; padding-bottom:0; }
 .sf__brand { padding-bottom:26px; }
 .sf__logo { width:155px; margin-bottom:16px; }
 .sf__brand p { font-size:14px; }
 .sf__menu { border-top:1px solid #e6e6e6; }
 .sf__menu-title { cursor:pointer; position:relative; padding:18px 0; margin:0; font-size:16px; }
 .sf__menu-title::after { content:'+'; position:absolute; right:0; font-size:22px; font-weight:400; top:12px; }
 .sf__menu[open] .sf__menu-title::after { content:'−'; }
 .sf__menu ul { padding-bottom:15px; }
 .sf__menu a { display:inline-block; padding:3px 0; }
 .sf__legal { margin-top:0; padding-top:20px; }
 .sf__legal-top,.sf__legal-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
 .sf__legal-top p { max-width:36ch; }
 .sf__policies { gap:10px 16px; margin:20px 0; }
 .sf .payment-icon-list { justify-content:flex-start; }
}
