/* Beavy for Shops — Supplier Landing V1 draft. Loads after landing.css (the Customer Landing master, copied
   unchanged) and adds only what this page needs. Same tokens, grid and type. */

.sp-brand-tag { font: 600 13px/1 var(--font-ui); color: rgba(255, 255, 255, .7); margin-left: 8px; letter-spacing: .04em; }

/* Hero: no photo for shops — the mascot on a warm paper card. */
.lp-hero-bg.sp-hero-bg { background: var(--band); background-image: radial-gradient(circle at 70% 40%, #FFFFFF 0, var(--band) 70%); }
.sp-beta { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 6px; padding: 6px 12px; border: 1px solid var(--border);
  border-radius: 999px; background: var(--white); font-size: 14px; color: var(--charcoal); }
.sp-beta-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); flex: 0 0 auto; }
.sp-follow { font-size: 15px; color: var(--muted); margin-bottom: 18px; }
.lp-hero-note a { color: var(--charcoal); font-weight: 600; }

/* Pain points */
.sp-pain-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.sp-pain-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-card); padding: 14px 14px 16px; text-align: center; }
.sp-pain-card img { width: 100%; max-width: 132px; height: auto; aspect-ratio: 1 / 1; object-fit: contain; display: block; margin: 0 auto 8px; }
.sp-pain-card h3 { font: 700 17px/1.4 var(--font-ui); }
.sp-pain-card p { color: var(--muted); font-size: 14px; line-height: 1.55; margin-top: 4px; }

/* Management value */
.sp-value { padding: 36px 0; }
.sp-value-in { display: grid; gap: 20px; margin-top: 20px; }
.sp-features { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sp-features li { display: flex; gap: 14px; align-items: flex-start; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-card); padding: 16px; }
.sp-features svg { width: 28px; height: 28px; flex: 0 0 auto; fill: none; stroke: var(--red); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.sp-features h3 { font: 700 17px/1.4 var(--font-ui); }
.sp-features p { color: var(--muted); font-size: 15px; margin-top: 2px; }

/* Pricing */
.sp-price-card { max-width: 520px; margin: 24px auto 0; background: var(--white); border: 1px solid var(--border); border-radius: 16px; padding: 28px 24px; text-align: center; box-shadow: 0 10px 30px rgba(37, 37, 37, .06); }
.sp-price { display: flex; justify-content: center; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sp-price-num { font: 700 54px/1 var(--font-display); color: var(--charcoal); letter-spacing: -1px; }
.sp-price-unit { font-size: 18px; color: var(--muted); font-weight: 600; }
.sp-price-vat { margin-top: 6px; font-weight: 600; color: var(--red); }
.sp-price-list { list-style: none; padding: 0; text-align: left; margin: 20px auto 0; display: grid; gap: 10px; max-width: 400px; }
.sp-price-list li { position: relative; padding-left: 30px; }
.sp-price-list li::before { content: ''; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.sp-price-note { margin-top: 18px; font-size: 14px; color: var(--muted); }

/* FAQ: the pricing answer stands out, open by default. */
.lp-faq details.sp-faq-price { border: 1.5px solid rgba(200, 57, 43, .45); background: #FFFBFA; }

/* Mobile: about 12-14 % less vertical space in Pain Points and Management Value; type sizes unchanged. */
@media (max-width: 899px) {
  .sp-pain { padding: 38px 0; }
  .sp-pain-grid { gap: 12px; margin-top: 20px; }
  .sp-pain-card { padding: 12px 12px 14px; }
  .sp-pain-card img { margin-bottom: 6px; }
  .sp-value { padding: 31px 0; }
  .sp-value-in { margin-top: 16px; }
  .sp-features { gap: 12px; }
  .sp-features li { padding: 14px; }
}
@media (min-width: 640px) {
  .sp-pain-grid { grid-template-columns: repeat(4, 1fr); }
  .sp-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .sp-features { gap: 20px; }
  .sp-features li { padding: 20px 22px; }
  /* The customer hero's photo is not used for shops. */
  .lp-hero.sp-hero::before { background: radial-gradient(circle at 60% 45%, #FFFFFF 0, var(--band) 75%); }
  .sp-price-card { padding: 36px 40px; }
}
