/* Shared brand pages and footer deliberately do not depend on shop_design. */
.sf-footer,.sf-info { --sf-ink: #111; --sf-soft: #f7f7f7; --sf-line: #e5e5e5; color: var(--sf-ink); font-family: Onest,Arial,sans-serif; }
.sf-footer { width: 100%; margin: 0; padding: 64px 0 26px; background: #fff; border-top: 1px solid var(--sf-line); font: 400 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.sf-footer-shell { max-width: 1600px; margin: auto; padding-inline: clamp(24px,5vw,90px); }
.sf-footer-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 48px; }
.sf-footer-grid > * { min-width: 0; }
.sf-footer-grid h2 { min-height: 64px; margin: 0 0 20px; padding-bottom: 24px; border-bottom: 1px solid var(--sf-line); font: 700 14px/1.4 Arial,Helvetica,sans-serif; letter-spacing: .02em; text-transform: uppercase; overflow-wrap: anywhere; }
.sf-footer-grid > * > a { display: flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%; min-height: 24px; margin-bottom: 16px; font: inherit; overflow-wrap: anywhere; }
.sf-footer-grid > * > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.sf-footer-grid .sf-footer-phone { white-space: nowrap; }
.sf-footer-intro p { margin: 0 0 20px; font: inherit; line-height: 1.7; color: #666; }
.sf-footer-intro .sf-footer-contact { justify-content: flex-start; }
.sf-footer .pv-icon { width: 26px; height: 26px; flex: none; }
.sf-footer-logo { display: block; margin: 64px 0 32px; }
.sf-footer-compact .sf-footer-logo { margin-top: 0; }
.sf-footer-logo img { display: block; width: 100%; height: auto; }
.sf-footer-bottom { display: flex; justify-content: space-between; gap: 20px; font-size: 10px; line-height: 1.6; letter-spacing: .04em; color: #777; }
.sf-footer-bottom a { padding: 4px 0; white-space: nowrap; }
.sf-info { max-width: 1600px; margin: auto; padding: 28px clamp(24px,5vw,90px) 80px; }
.sf-info-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; color: #777; font-size: 11px; line-height: 1.6; }
.sf-info-breadcrumbs a:hover { text-decoration: underline; }
.sf-info h1 { margin: 0 0 52px; font: 300 clamp(30px,3vw,42px)/1.2 Onest,Arial,sans-serif; letter-spacing: -.04em; }
.sf-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
.sf-info-copy h2 { margin: 0 0 28px; font: 300 clamp(24px,2.6vw,34px)/1.25 Onest,Arial,sans-serif; letter-spacing: -.025em; }
.sf-info-copy > p:not(.sf-info-eyebrow) { margin: 0 0 20px; font-size: 14px; line-height: 1.8; color: #666; }
.sf-info-eyebrow { margin: 0 0 18px; font-size: 11px; line-height: 1.6; letter-spacing: .12em; text-transform: uppercase; }
.sf-info-phone { display: block; width: fit-content; margin: 30px 0; font-size: 24px; white-space: nowrap; }
.sf-info .sf-info-button { margin-top: 12px; }
.sf-info-brand { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 34px; min-height: 420px; padding: 10%; background: var(--sf-soft); }
.sf-info-brand img { display: block; width: 100%; height: auto; }
.sf-info-brand > span { max-width: 260px; text-align: center; font: 300 24px/1.4 Onest,Arial,sans-serif; letter-spacing: -.025em; }
@media(max-width:1199px) { .sf-footer-grid { gap: 30px; } }
@media(max-width:991px) { .sf-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 28px; } .sf-info-grid { gap: 6%; } .sf-info-brand { min-height: 360px; } }
@media(max-width:600px) { .sf-footer { padding-top: 40px; } .sf-footer-grid { gap: 32px 20px; } .sf-footer-grid h2 { min-height: 56px; font-size: 13px; padding-bottom: 16px; margin-bottom: 18px; } .sf-footer-logo { margin: 35px 0 24px; } .sf-footer-bottom { font-size: 10px; } .sf-info { padding-top: 22px; padding-bottom: 48px; } .sf-info h1 { margin-bottom: 32px; } .sf-info-grid { grid-template-columns: 1fr; gap: 35px; } .sf-info-about .sf-info-brand { order: 2; } .sf-info-brand { min-height: 260px; } .sf-info-copy > p:not(.sf-info-eyebrow) { font-size: 14px; } .sf-info-phone { font-size: 22px; } }
