/* Contact uses the storefront background, typography, navigation and theme tokens. */
body.contact-page{display:flex;flex-direction:column;min-height:100vh}
.contact-shell{max-width:1152px;width:100%;margin:auto;padding:0 24px;flex:1}
.contact-hero{padding:64px 0 48px;border-bottom:1px solid var(--line)}
.contact-intro{max-width:768px}
body.contact-page .contact-intro h1{color:var(--ink);margin-top:20px}
.contact-intro>p{margin-top:22px;font-size:18px;line-height:1.65;color:var(--muted)}
.contact-channels{padding:40px 0 48px}
.contact-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.contact-section-heading h2{font-size:24px}.contact-section-heading>span{font-size:13px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.contact-card{--channel-color:#b1adff;--channel-tint:#33304b;display:flex;flex-direction:column;min-width:0;padding:24px 20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;box-shadow:0 10px 15px -3px #0002;transition:background .15s,border-color .15s}
.contact-card.facebook{--channel-color:#8bbcff;--channel-tint:#25324a}
.contact-card.line{--channel-color:#75dfa3;--channel-tint:#233c2c}
body.contact-page .contact-card.shop{--channel-color:var(--accent);--channel-tint:color-mix(in srgb,var(--theme-primary) 12%,var(--panel))}
.contact-card:hover{background:#302020;border-color:var(--channel-color)}
.channel-mark{display:grid;place-items:center;align-self:flex-start;width:48px;height:48px;border-radius:12px;background:var(--channel-tint);color:var(--channel-color);font:700 26px/1 system-ui,sans-serif;margin-bottom:24px}
.facebook .channel-mark{font-size:36px}.line .channel-mark{font-size:13px}.shop .channel-mark svg{width:26px;height:26px}
.contact-card h3{font-size:22px;font-weight:600;line-height:1.4;text-wrap:initial}
.contact-card p{font-size:14px;line-height:1.65;color:var(--muted);margin:10px 0 24px}
.channel-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);color:var(--channel-color);font-size:14px;font-weight:600}
.channel-action span{font:22px/1 system-ui,sans-serif}
.contact-help{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:32px 0;border-block:1px solid var(--line)}
.contact-help h2{font-size:20px}.contact-help p{font-size:13px;margin-top:8px}
.contact-help ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
body.contact-page .contact-help strong{display:block;font-size:14px;color:var(--ink);font-weight:600}
.contact-help li span{display:block;font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}
.contact-return{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0 48px;font-size:14px;color:var(--muted)}
.contact-return a{font-size:14px;border-radius:12px;min-height:46px;flex-shrink:0}
.contact-empty{padding:40px 24px;background:var(--panel);border:1px solid var(--line);border-radius:12px;text-align:center}
.contact-empty>svg{color:var(--accent);width:34px;height:34px;margin-bottom:16px}.contact-empty h3{font-size:20px}.contact-empty p{font-size:14px;margin:10px 0 20px}
.contact-demo{padding:12px 16px;margin-top:24px;background:#352b19;border:1px solid #756235;color:#f3d48f;border-radius:8px;font-size:12px}
.contact-page #contact-error p{color:inherit;margin-bottom:12px}.contact-page #contact-loading{padding:24px 0;font-size:14px}
@media(max-width:1023px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-help{grid-template-columns:1fr;gap:24px}}
@media(max-width:639px){.contact-shell{padding:0 20px}.contact-hero{padding:48px 0 36px}.contact-intro>p{font-size:16px}.contact-intro>p br{display:none}.contact-channels{padding:32px 0}.contact-section-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:20px}.contact-section-heading h2{font-size:22px}.contact-grid{grid-template-columns:1fr;gap:14px}.contact-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:18px;padding:22px}.channel-mark{grid-row:1/3;margin:0}.contact-card h3{align-self:end;font-size:20px}.contact-card p{margin:6px 0 0;font-size:14px}.channel-action{grid-column:1/-1;margin-top:20px;padding-top:14px}.contact-help{padding:28px 0}.contact-help ul{grid-template-columns:1fr;gap:20px}.contact-help li{padding-left:16px;border-left:2px solid var(--line)}.contact-help li span{margin-top:4px}.contact-return{align-items:flex-start;flex-direction:column;gap:16px;padding:28px 0 40px}}
