/* Scoped to the ordinary storefront's first-order mobile campaign. */
body.first-campaign { margin: 0; background: #f5f5f7; color: #1d1d1f; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; -webkit-font-smoothing: antialiased; }
.first-campaign *, .first-campaign *::before, .first-campaign *::after { box-sizing: border-box; }
.first-campaign .m-page { max-width: 480px; margin: 0 auto; padding: 0 20px 28px; }
.first-campaign h1, .first-campaign h2, .first-campaign h3, .first-campaign p { margin: 0; }
.first-campaign .campaign-hero { padding: 34px 0 25px; text-align: center; }
.first-campaign .campaign-eyebrow { display: inline-block; padding: 7px 13px; border-radius: 999px; background: #e7effc; color: #005bb5; font-size: 12px; font-weight: 600; }
.first-campaign h1 { margin-top: 20px; font-size: clamp(24px, 6.7vw, 30px); line-height: 1.5; letter-spacing: -.035em; font-weight: 650; }
.first-campaign .campaign-saving { display: flex; align-items: baseline; justify-content: center; gap: 5px; margin: 14px 0; color: #0071e3; white-space: nowrap; }
.first-campaign .campaign-saving strong { font-size: clamp(52px, 15vw, 72px); letter-spacing: -.06em; line-height: 1.1; font-weight: 750; font-variant-numeric: lining-nums tabular-nums; }
.first-campaign .saving-prefix { font-size: 14px; font-weight: 600; }
.first-campaign .saving-unit { font-size: 21px; font-weight: 650; }
.first-campaign .campaign-lead { font-size: 14px; line-height: 1.9; color: #55555b; }
.first-campaign .campaign-period { margin-top: 17px; font-size: 11px; line-height: 1.8; color: #6e6e73; }
.first-campaign .campaign-period time { display: inline-block; margin-left: 5px; color: #333338; font-size: 12px; font-weight: 600; }
.first-campaign .coupon-section { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.first-campaign .coupon-card { padding: 18px 10px; border: 1px solid transparent; border-radius: 18px; background: #fff; text-align: center; }
.first-campaign .coupon-featured { border-color: #b8d5f7; background: #edf5ff; }
.first-campaign .coupon-condition { color: #36363b; font-size: 14px; font-weight: 600; }
.first-campaign .coupon-condition span { display: block; margin-top: 4px; color: #6e6e73; font-size: 10px; font-weight: 400; }
.first-campaign .coupon-amount { margin-top: 13px; color: #0066cc; white-space: nowrap; }
.first-campaign .coupon-amount strong { font-size: clamp(23px,6.7vw,30px); font-weight: 700; letter-spacing: -.045em; }
.first-campaign .coupon-amount span { margin-left: 2px; font-size: 11px; font-weight: 600; }
.first-campaign .campaign-actions { display: grid; gap: 8px; padding: 22px 0 6px; }
.first-campaign .campaign-button { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 52px; padding: 13px 10px; background: #0071e3; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; }
.first-campaign .campaign-button:hover { background: #0063c9; }
.first-campaign .campaign-secondary { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; color: #0066cc; font-size: 14px; text-decoration: none; }
.first-campaign .campaign-section { padding: 31px 0; border-top: 1px solid #dedee3; margin-top: 26px; }
.first-campaign .section-eyebrow { margin-bottom: 8px; font-size: 12px; font-weight: 500; color: #6e6e73; }
.first-campaign h2 { font-size: 21px; letter-spacing: -.03em; line-height: 1.55; font-weight: 650; }
.first-campaign .campaign-steps { list-style: none; padding: 0; margin: 23px 0 0; }
.first-campaign .campaign-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 13px; padding: 16px 0; }
.first-campaign .campaign-steps li + li { border-top: 1px solid #e2e2e7; }
.first-campaign .step-number { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #e6edf8; color: #005bb5; border-radius: 50%; font-size: 13px; font-weight: 600; }
.first-campaign h3 { padding-top: 2px; font-size: 15px; line-height: 1.6; font-weight: 600; }
.first-campaign .campaign-steps p { margin-top: 6px; font-size: 13px; line-height: 1.85; color: #626269; }
.first-campaign .campaign-faq { margin-top: 0; padding-bottom: 8px; }
.first-campaign .campaign-faq h2 { margin-bottom: 14px; }
.first-campaign details { border-bottom: 1px solid #dedee3; }
.first-campaign summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; list-style: none; cursor: pointer; font-size: 14px; font-weight: 500; line-height: 1.65; }
.first-campaign summary::-webkit-details-marker { display: none; }
.first-campaign summary::after { content: "+"; color: #6e6e73; font-size: 22px; font-weight: 400; flex-shrink: 0; }
.first-campaign details[open] summary::after { content: "−"; }
.first-campaign details p { padding: 0 0 19px; font-size: 13px; line-height: 1.9; color: #626269; }
.first-campaign .campaign-terms { padding: 28px 0 12px; }
.first-campaign .campaign-terms h2 { font-size: 13px; font-weight: 600; color: #55555b; }
.first-campaign .campaign-terms ul { margin: 12px 0 18px; padding-left: 17px; color: #6e6e73; font-size: 11px; line-height: 1.9; }
.first-campaign .campaign-terms li + li { margin-top: 6px; }
.first-campaign .campaign-contact { display: inline-flex; align-items: center; min-height: 44px; color: #0066cc; font-size: 12px; text-underline-offset: 3px; }
.first-campaign a:focus-visible, .first-campaign summary:focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }
.first-campaign .m-bottom-nav, .first-campaign .mobile-nav-v2 { display: none !important; }
@media (min-width: 600px) { .first-campaign .campaign-hero { padding-top: 44px; } }
