body { font-family: 'Montserrat', sans-serif; background: #f5f7fb; color: #1f2933; margin: 0; }
.container { width: min(1100px, 92vw); margin: 0 auto; padding: 2rem 0; }
.shopflow-header { background: var(--theme-primary); color: var(--theme-text-on-primary); text-align: center; padding: 1.5rem 0; text-transform: uppercase; letter-spacing: 4px; }
.shopflow-footer { background: var(--theme-primary); color: var(--theme-text-on-primary); padding: 1.5rem 0; text-align: center; }
.shopflow-contact-bar { background: var(--theme-primary); color: var(--theme-text-on-primary); padding: 0.75rem min(1100px, 92vw); display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; font-size: 0.95rem; }
.shopflow-contact-bar a { color: var(--theme-accent); text-decoration: none; }
.shopflow-contact-bar span { color: var(--theme-text-on-primary); }
.shopflow-contact-footer { display: grid; gap: 0.5rem; margin-bottom: 1rem; font-size: 0.95rem; color: var(--theme-text-on-primary); }
.shopflow-contact-footer a { color: var(--theme-accent); text-decoration: none; }
.sf-icon { display: inline-block; width: 1em; margin-right: 0.4rem; font-style: normal; }
.sf-icon-map::before { content: '\1F4CD'; }
.sf-icon-phone::before { content: '\260E'; }
.sf-icon-mail::before { content: '\2709'; }
.sf-icon-chat::before { content: '\1F4AC'; }
.sf-icon-clock::before { content: '\23F0'; }
.sf-icon-info::before { content: '\2139'; }

body.shopflow-chess { background: #f4efe4; color: #1c1915; }
body.shopflow-chess .shopflow-header { letter-spacing: 0.08em; text-transform: none; border-bottom: 1px solid #c4a35a; }
body.shopflow-chess .shopflow-header h1 { font-weight: 600; }
body.shopflow-chess .shopflow-contact-bar a,
body.shopflow-chess .shopflow-contact-footer a,
body.shopflow-chess .shopflow-footer-nav a { color: #c4a35a; }
