/* ShopperChecked homepage — the approved "people" design (blue hero, photo with a floating review,
   category panel, business cards, navy stories band, reply scene). Loaded after app.css + theme. */

.sc-home { --sc-blue: #119ed1; --sc-blue-dark: #0c86b3; --sc-ink: #142d50; --sc-muted: #61738c; --sc-line: #dfe7f1; --sc-radius: 20px;
    color: var(--sc-ink); font-family: "Inter", Arial, sans-serif; font-size: 14px; line-height: 1.65; }
.sc-home h1, .sc-home h2, .sc-home h3, .sc-home p, .sc-home blockquote { margin: 0; font-family: inherit; }
.sc-home svg { flex-shrink: 0; }
.sc-small { color: var(--sc-muted); font-size: 12px; }

.sc-link { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--sc-ink); text-decoration: none; }
.sc-link:hover { color: var(--sc-blue); }
.sc-link-blue { color: var(--sc-blue); }
.sc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 18px; font: 600 13px/1.2 inherit; border-radius: 10px;
    border: 1px solid var(--sc-line); background: #fff; color: var(--sc-ink); text-decoration: none; cursor: pointer; transition: background .18s, border-color .18s; }
.sc-btn-blue { color: #fff; background: var(--sc-blue); border-color: var(--sc-blue); box-shadow: 0 5px 12px rgba(17, 158, 209, .13); }
.sc-btn-blue:hover { color: #fff; background: var(--sc-blue-dark); border-color: var(--sc-blue-dark); }

/* hero */
.sc-hero { background: #eaf6fb radial-gradient(ellipse at 86% 20%, #d4eef8 0, transparent 60%); overflow-x: clip; }
.sc-hero-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 38px; padding-top: 48px; padding-bottom: 61px; }
.sc-hero h1 { font-size: clamp(38px, 5.2vw, 60px); font-weight: 700; line-height: 1.12; letter-spacing: -2.3px; margin-bottom: 23px; color: var(--sc-ink); }
.sc-hero h1 span { color: var(--sc-blue); }
.sc-hero-copy { max-width: 410px; font-size: 15px; line-height: 1.85; color: #5f7390; margin-bottom: 28px; }
.sc-search { display: flex; align-items: center; gap: 11px; background: #fff; border: 1px solid #d2dff1; border-radius: 13px; padding: 8px 8px 8px 17px; box-shadow: 0 10px 28px rgba(53, 92, 148, .13); }
.sc-search:focus-within { border-color: #7ccde9; box-shadow: 0 0 0 3px rgba(138, 183, 255, .33), 0 10px 28px rgba(53, 92, 148, .13); }
.sc-search > svg { color: #7b91ac; }
.sc-search input { min-width: 0; width: 100%; border: 0 !important; background: #fff; font: inherit; font-size: 14px; padding: 9px 0; box-shadow: none !important; outline: none; }
.sc-search button { padding: 13px 18px; border-radius: 8px; }
.sc-popular { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 16px; color: #6c7f99; font-size: 12px; }
.sc-popular a { font-weight: 500; border-bottom: 1px solid #afc2df; color: #4f6e98; text-decoration: none; }
.sc-popular a:hover { color: var(--sc-blue); border-color: var(--sc-blue); }
.sc-hero-write { display: flex; align-items: center; gap: 8px; margin-top: 24px; color: #647895; font-size: 12px; flex-wrap: wrap; }
.sc-hero-write .sc-link { color: var(--sc-blue); }

.sc-photo-frame { position: relative; padding-bottom: 44px; min-width: 0; }
.sc-photo-frame::before { content: ''; background: #cbe9f5; position: absolute; top: 12px; right: -10px; bottom: 32px; left: 10px; border-radius: 24px; transform: rotate(3deg); }
.sc-hero-photo { position: relative; height: 445px; border-radius: 24px; background: #d9e4f2 url('../img/home-hero.webp') center 35% / cover; box-shadow: 0 18px 40px rgba(40, 76, 126, .13); }
.sc-feature-review { position: absolute; bottom: 0; left: -20px; width: calc(100% - 26px); max-width: 340px; padding: 19px 21px 15px; background: #fff;
    border: 1px solid #e4ebf6; border-radius: 16px; box-shadow: 0 16px 38px rgba(20, 50, 82, .14); }
.sc-feature-person { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.sc-feature-person strong { display: block; font-size: 12px; font-weight: 600; }
.sc-feature-person p { color: #74849a; font-size: 11px; }
.sc-feature-review blockquote { font-size: 16px; font-weight: 500; line-height: 1.55; letter-spacing: -.25px; }
.sc-feature-foot { margin-top: 14px; padding-top: 11px; border-top: 1px solid var(--sc-line); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sc-feature-foot .sc-link { color: var(--sc-blue); }
.sc-quote-controls { display: flex; gap: 5px; }
.sc-quote-controls button { width: 25px; height: 25px; border: 1px solid #dce6f4; padding: 0; border-radius: 50%; background: #fff; display: grid; place-items: center; color: #607d9f; cursor: pointer; }
.sc-quote-controls button:hover { border-color: #9fd4e9; color: var(--sc-blue); }

.sc-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f2e8dc; color: #7c6250; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.sc-avatar.sc-green { background: #e1eee7; color: #486e5b; }
.sc-avatar.sc-lilac { background: #e9e4f4; color: #796491; }

.sc-stars { display: inline-flex; gap: 2px; color: var(--sc-blue); font: 400 19px/1 Arial, sans-serif; white-space: nowrap; }
.sc-stars .off { color: #d4dfed; }
.sc-stars .part { background: linear-gradient(90deg, var(--sc-blue) var(--p), #d4dfed var(--p)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* categories */
.sc-category-panel { margin-top: -20px; position: relative; z-index: 2; background: #fff; border: 1px solid #e2eaf5; border-radius: var(--sc-radius);
    box-shadow: 0 12px 30px rgba(44, 86, 140, .07); padding: 23px 25px 25px; }
.sc-category-panel h2 { font-size: 19px; font-weight: 700; letter-spacing: -.5px; margin-bottom: 18px; }
.sc-categories { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 13px; }
.sc-category { background: #f2f9fc; border: 1px solid #ebf0f8; border-radius: 11px; padding: 15px 10px 13px; text-align: center; display: flex; flex-direction: column;
    align-items: center; gap: 9px; font-size: 12px; font-weight: 500; min-width: 0; color: var(--sc-ink); text-decoration: none; }
.sc-category svg { color: #1592c0; }
.sc-category:hover { background: #e4f4fa; border-color: #a6d7eb; }

/* businesses */
.sc-section { padding-top: 47px; padding-bottom: 48px; }
.sc-section-top { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 25px; }
.sc-section h2 { font-size: 31px; font-weight: 700; line-height: 1.25; letter-spacing: -1px; }
.sc-section-top p { color: var(--sc-muted); font-size: 13px; line-height: 1.7; margin-top: 9px; }
.sc-section-top > .sc-link { white-space: nowrap; }
.sc-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sc-company { background: #fff; border: 1px solid #dfe7f2; border-radius: var(--sc-radius); box-shadow: 0 4px 16px rgba(32, 69, 116, .03); display: flex; gap: 17px; padding: 21px; min-width: 0; align-items: flex-start; }
.sc-company:hover { border-color: #a8d8eb; box-shadow: 0 7px 21px rgba(27, 70, 117, .06); }
.sc-brand-stage { display: grid; place-items: center; width: 65px; height: 65px; border-radius: 15px; background: #f3f6fb; border: 1px solid #e0e7f0; flex-shrink: 0; overflow: hidden; }
.sc-brand-stage img { width: 100%; height: 100%; object-fit: contain; padding: 6px; background: #fff; }
.sc-brand-stage span { color: #2b8fb5; font-size: 20px; font-weight: 600; letter-spacing: -.6px; }
.sc-company-body { flex: 1; min-width: 0; }
.sc-company h3 { font-size: 17px; font-weight: 700; letter-spacing: -.35px; line-height: 1.4; }
.sc-company h3 a { color: inherit; text-decoration: none; }
.sc-company h3 a:hover { color: var(--sc-blue); }
.sc-company-body > .sc-small { margin-top: 3px; }
.sc-company-score { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.sc-company-score strong { font-size: 13px; font-weight: 600; }
.sc-company-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 11px; border-top: 1px solid var(--sc-line); }
.sc-company-footer .sc-link { font-size: 11px; color: #406491; }
.sc-company-footer > span { color: #69809f; font-size: 11px; overflow-wrap: anywhere; }

/* stories */
.sc-community { background: #15375e; color: #fff; border-radius: var(--sc-radius); margin: 0 auto; max-width: 1272px; width: calc(100% - 48px); padding: 37px 27px 32px; position: relative; }
.sc-community::before { content: ''; position: absolute; right: 30px; top: 20px; width: 130px; height: 130px; background: #235080; border-radius: 50%; opacity: .35; pointer-events: none; }
.sc-community .sc-section-top { align-items: center; position: relative; }
.sc-community h2 { font-size: 32px; font-weight: 600; letter-spacing: -1px; line-height: 1.25; color: #fff; }
.sc-community .sc-section-top p { color: #c1d4ec; max-width: 320px; margin-top: 0; font-size: 13px; }
.sc-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; position: relative; }
.sc-story { background: #fff; color: var(--sc-ink); padding: 23px 20px 19px; border-radius: 14px; box-shadow: 0 7px 20px rgba(7, 27, 54, .19); display: flex; flex-direction: column; min-width: 0; }
.sc-story-person { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.sc-story-person strong { font-size: 12px; font-weight: 600; }
.sc-story-person p { color: #687e9a; font-size: 11px; }
.sc-story > .sc-stars { font-size: 17px; margin-bottom: 14px; }
.sc-story h3 { font-size: 17px; font-weight: 600; line-height: 1.45; letter-spacing: -.3px; margin-bottom: 11px; }
.sc-story > p { color: #657993; font-size: 13px; line-height: 1.8; flex: 1; overflow-wrap: anywhere; }
.sc-story-foot { border-top: 1px solid var(--sc-line); margin-top: 19px; padding-top: 12px; display: flex; align-items: center; gap: 5px; font-size: 11px; color: #6b7f99; flex-wrap: wrap; }
.sc-story-foot .sc-link { color: #43648e; font-size: 11px; }

/* business pitch */
.sc-business { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding-top: 48px; padding-bottom: 46px; }
.sc-business h2 { font-size: 34px; font-weight: 700; letter-spacing: -1.1px; line-height: 1.2; margin-bottom: 18px; }
.sc-business-copy { color: #61738d; font-size: 14px; line-height: 1.8; margin-bottom: 21px; max-width: 385px; }
.sc-reply-scene { background: #eff5ff; border: 1px solid #e4edfa; border-radius: var(--sc-radius); padding: 27px; }
.sc-reply-message { background: #fff; padding: 18px 20px; border: 1px solid #dce7f6; border-radius: 13px; box-shadow: 0 7px 18px rgba(37, 78, 135, .06); margin-right: 18px; }
.sc-reply-message strong, .sc-reply-answer strong { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 5px; margin-bottom: 7px; }
.sc-reply-message p { font-size: 13px; color: #637892; line-height: 1.8; }
.sc-reply-answer { margin-top: 14px; margin-left: 26px; padding: 17px 20px; background: #d5eef7; border-radius: 13px; color: #43638d; border: 1px solid #c2e5f2; }
.sc-reply-answer svg { color: var(--sc-blue); }
.sc-reply-answer p { font-size: 13px; line-height: 1.8; }

@media (max-width: 850px) {
    .sc-hero-inner { gap: 28px; grid-template-columns: 1.05fr 1fr; padding-top: 37px; padding-bottom: 55px; }
    .sc-hero h1 { font-size: 40px; letter-spacing: -1.5px; }
    .sc-hero-photo { height: 440px; }
    .sc-feature-review { left: -10px; padding: 17px; width: calc(100% - 10px); }
    .sc-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sc-category { flex-direction: row; justify-content: flex-start; text-align: left; gap: 10px; padding: 13px; }
    .sc-community { width: calc(100% - 36px); padding: 30px 23px; }
    .sc-business { gap: 25px; }
}
@media (max-width: 650px) {
    .sc-hero-inner { grid-template-columns: 1fr; gap: 30px; padding-top: 33px; padding-bottom: 46px; }
    .sc-hero h1 { font-size: clamp(36px, 10.3vw, 53px); letter-spacing: -1.7px; }
    .sc-hero-copy { max-width: 100%; }
    .sc-search { padding-left: 12px; gap: 8px; }
    .sc-search input { font-size: 16px; }
    .sc-search button { padding: 12px; }
    .sc-search button > svg { display: none; }
    .sc-photo-frame { padding-bottom: 48px; margin: 0 6px; }
    .sc-hero-photo { height: 390px; }
    .sc-feature-review { left: -6px; width: calc(100% - 4px); }
    .sc-photo-frame::before { right: -7px; }
    .sc-category-panel { padding: 22px 17px; }
    .sc-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .sc-category { flex-direction: column; text-align: center; padding: 14px 8px; }
    .sc-section { padding-top: 35px; padding-bottom: 35px; }
    .sc-section-top { align-items: flex-start; flex-direction: column; gap: 15px; margin-bottom: 23px; }
    .sc-section h2, .sc-community h2 { font-size: 28px; }
    .sc-company-grid, .sc-stories, .sc-business { grid-template-columns: 1fr; }
    .sc-community { width: calc(100% - 24px); padding: 29px 22px; }
    .sc-business { padding-top: 36px; padding-bottom: 37px; gap: 28px; }
    .sc-reply-message { margin-right: 11px; padding: 15px; }
    .sc-reply-answer { margin-left: 11px; padding: 15px; }
}
@media (prefers-reduced-motion: reduce) { .sc-btn { transition: none; } }
