/* A focused first screen, shared by desktop and mobile. */
body[data-spotter-home] .hero {
  min-height: min(740px, calc(100svh - 72px));
  padding: 44px 0 56px !important;
  gap: 24px !important;
  justify-content: center;
}
body[data-spotter-home] .hero-copy,
body[data-spotter-home] .watchbox { animation: none !important; }
body[data-spotter-home] .hero-copy { max-width: 710px; }
body[data-spotter-home] .hero h1 {
  max-width: 710px;
  font-size: clamp(36px, 4.6vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  margin: 14px auto 12px !important;
}
body[data-spotter-home] .hero-copy > p {
  max-width: 520px;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
.so-home-mascot { width: 72px; height: 72px; object-fit: contain; border-radius: 18px; }
body[data-spotter-home] .hero .eyebrow,
body[data-spotter-home] .hero .watchhead,
body[data-spotter-home] #soSearchExamples,
body[data-spotter-home] #create .examples,
body[data-spotter-home] .search-submit-hint { display: none !important; }
body[data-spotter-home] .watchbox { width: min(680px, 100%); padding: 0 !important; background: transparent; }
body[data-spotter-home] .watchbox::before { display: none; }
body[data-spotter-home] .watchinner { padding: 18px !important; border-radius: 24px !important; }
body[data-spotter-home] #createForm { padding: 0 !important; text-align: left; }
body[data-spotter-home] #searchCapability { margin: 0 0 12px !important; font-size: 12px !important; }
body[data-spotter-home] #createForm:has(#searchDescriptionFields:not([hidden]) #searchDescription:not([hidden])) #searchCapability { display: none; }
body[data-spotter-home] #searchDescription {
  min-height: 112px !important;
  height: 112px;
  padding: 16px !important;
  resize: vertical;
  border-radius: 16px !important;
  font-size: 16px !important;
  font-family: inherit;
}
body[data-spotter-home] #searchDescriptionHelp { display: none !important; }
body[data-spotter-home] #createBtn.search-primary-action { min-height: 52px !important; margin: 12px 0 8px !important; }
body[data-spotter-home] #imageSearch:not([open]),
body[data-spotter-home] #manualSearchDetails:not([open]) {
  border: 0 !important;
  background: transparent !important;
  margin: 0 !important;
  box-shadow: none !important;
}
body[data-spotter-home] #imageSearch > summary,
body[data-spotter-home] #manualSearchDetails > summary {
  min-height: 44px !important;
  padding: 10px 8px !important;
  font-size: 12px !important;
}
body[data-spotter-home] #soAppleStory { display: none !important; }
body[data-spotter-home][data-so-route="home"] #how { display: block !important; scroll-margin-top: 90px; }
body[data-spotter-home] #how { padding: 56px 0 !important; }
body[data-spotter-home] #how .sectiontitle { font-size: clamp(30px, 4vw, 42px) !important; }
body[data-spotter-home] .hero-copy,
body[data-spotter-home] .watchbox,
body[data-spotter-home] #dashboard .so-reveal { opacity: 1; }

/* Keep the full app navigation available once there is something to manage. */
.so-home-how-link { font-size: 13px; font-weight: 750; color: var(--so-muted); white-space: nowrap; }
.so-home-how-link[hidden] { display: none !important; }
body[data-spotter-home] #navCreate { display: none !important; }
body[data-spotter-home][data-so-route="home"]:not(.so-home-returning):not(.so-home-has-spotters) #soAppTabs { display: none !important; }
body[data-spotter-home][data-so-route="home"]:not(.so-home-returning):not(.so-home-has-spotters) .navin { grid-template-columns: 1fr auto auto !important; }
@media (min-width: 901px) {
  body[data-spotter-home][data-so-route="home"]:not(.so-home-returning):not(.so-home-has-spotters) .so-home-how-link { grid-column: 2; grid-row: 1; }
  body[data-spotter-home][data-so-route="home"]:not(.so-home-returning):not(.so-home-has-spotters) .navlinks { grid-column: 3; grid-row: 1; }
}
body[data-spotter-home] #themeToggle { min-width: 40px; width: 40px; height: 40px; padding: 0 !important; justify-content: center; }
body[data-spotter-home] #themeLabel { display: none; }

/* Signed-in home reuses the existing interactive cards and saved listings. */
/* A slow session keeps a complete, compact first screen with usable navigation. */
body[data-spotter-home].so-home-pending[data-so-route="home"] .hero { min-height: 0; padding: 28px 0 24px !important; }
body[data-spotter-home].so-home-pending #soAppTabs { display: flex !important; }
body[data-spotter-home].so-home-pending .navin { grid-template-columns: auto 1fr auto !important; }
body[data-spotter-home].so-home-pending #how,
body[data-spotter-home].so-home-pending #plans { display: none !important; }
body[data-spotter-home].so-home-returning[data-so-route="home"] .hero { min-height: 0; padding: 28px 0 24px !important; gap: 18px !important; }
body[data-spotter-home].so-home-returning .so-home-mascot { display: none; }
body[data-spotter-home].so-home-returning .hero h1 { font-size: clamp(28px, 3vw, 38px) !important; margin: 0 auto 8px !important; }
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard { display: none !important; }
body[data-spotter-home].so-home-returning[data-so-route="home"] #how { display: none !important; }
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard > .shell > .sectiontitle { font-size: 30px !important; }
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard > .shell > .lead,
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard .dashtop,
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard .statusbar,
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard .stats,
body[data-spotter-home].so-home-returning[data-so-route="home"] #dashboard .toolbar > .help { display: none !important; }

@media (max-width: 900px) {
  body[data-spotter-home] .navin { display: flex !important; flex-wrap: wrap; }
  body[data-spotter-home] .navlinks { margin-left: auto !important; }
  .so-home-how-link { margin-left: auto; }
  body[data-spotter-home] .hero { min-height: 0; padding: 36px 0 44px !important; }
}
@media (max-width: 650px) {
  body[data-spotter-home] .hero { padding: 24px 0 34px !important; gap: 20px !important; }
  body[data-spotter-home] .hero > .watchbox { order: 0; }
  body[data-spotter-home] .hero h1 { font-size: clamp(30px, 8.5vw, 42px) !important; margin: 12px auto 10px !important; }
  body[data-spotter-home] .hero-copy > p { max-width: 330px; font-size: 14px !important; }
  body[data-spotter-home] .so-home-mascot { width: 54px; height: 54px; border-radius: 14px; }
  body[data-spotter-home] .watchinner { padding: 14px !important; border-radius: 20px !important; }
  body[data-spotter-home] #searchDescription { min-height: 104px !important; height: 104px; }
  body[data-spotter-home] #searchCapability { font-size: 11px !important; line-height: 1.4 !important; }
  body[data-spotter-home] .brand { gap: 6px; font-size: 15px !important; }
  body[data-spotter-home] .brand .mark { width: 30px !important; height: 30px !important; }
  body[data-spotter-home] .brandsmall { display: none; }
  body[data-spotter-home] .navin { gap: 8px; padding-top: 0; }
  body[data-spotter-home] .navlinks { gap: 5px !important; }
  body[data-spotter-home] #accountButton { padding: 10px !important; }
  body[data-spotter-home] #soAppTabs { order: 3; }
  .so-home-how-link { font-size: 11px; }
  body[data-spotter-home].so-home-returning .hero h1 { font-size: 28px !important; }
}
@media (max-width: 380px) {
  body[data-spotter-home][data-so-route="home"]:not(.so-home-returning):not(.so-home-has-spotters) #themeToggle { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-spotter-home] .hero *, body[data-spotter-home] #dashboard .so-reveal { animation: none !important; transition: none !important; transform: none !important; }
}

/* Readable customer copy in both themes. Keep the existing Spotter form and routing. */
body[data-spotter-home] .hero-copy > p { font-size:17px!important; line-height:1.6!important; color:#40564a!important; }
body[data-spotter-home] .hero-copy > p strong { color:#153c2a; }
body[data-spotter-home] .brandsmall { color:#40594a; font-size:11px; letter-spacing:.08em; }
body[data-spotter-home] .so-home-how-link { color:#254d35; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
body[data-spotter-home] #how .step h3 { font-size:17px!important; line-height:1.3!important; }
body[data-spotter-home] #how .step p { color:#455a4b!important; font-size:14px!important; line-height:1.55!important; }
body[data-spotter-home].so-v2 #plans { padding-top:80px!important; padding-bottom:80px!important; }
body[data-spotter-home].so-v2 #plans .plan-grid { max-width:1020px; margin-top:30px!important; }
body[data-spotter-home].so-v2 #plans .plan-card { min-height:0!important; }
body[data-spotter-home].so-v2 #plans .plan-features { flex:0 0 auto; align-content:start; }
body[data-spotter-home] #plans .lead,
body[data-spotter-home] #plans .plan-card-subtitle { color:#4d6052!important; }
body[data-spotter-home].so-v2 #plans .plan-speed { font-size:13px!important; font-weight:800; }
body[data-spotter-home] #plans .plan-note { color:#4c5d51!important; font-size:13px!important; }
body[data-spotter-home] #plans .plan-card small { color:#4b5e51; font-size:12px; line-height:1.5; }
body[data-spotter-home] .footer { background:#f4f6f0; color:#43584a; font-size:13px; }
body[data-spotter-home] .footer a { text-underline-offset:3px; }
body[data-spotter-home] .footer-socials a.footer-social { color:#405b49; font-size:12px; }
body[data-spotter-home] .footer-meta,
body[data-spotter-home] .site-legal-links { font-size:13px; }
html[data-theme="dark"] body[data-spotter-home] .hero-copy > p { color:#c5d5c9!important; }
html[data-theme="dark"] body[data-spotter-home] .hero-copy > p strong { color:#f0f8f1; }
html[data-theme="dark"] body[data-spotter-home] .brandsmall,
html[data-theme="dark"] body[data-spotter-home] .so-home-how-link { color:#cce4d1; }
html[data-theme="dark"] body[data-spotter-home] #how .step p,
html[data-theme="dark"] body[data-spotter-home] #plans .lead,
html[data-theme="dark"] body[data-spotter-home] #plans .plan-card-subtitle,
html[data-theme="dark"] body[data-spotter-home] #plans .plan-note,
html[data-theme="dark"] body[data-spotter-home] #plans .plan-card small { color:#c2d4c6!important; }
html[data-theme="dark"] body[data-spotter-home].so-v2 #plans .plan-speed { color:#e0f5b6!important; background:#24412e!important; }
html[data-theme="dark"] body[data-spotter-home] .footer { background:#12251a; color:#c5d6c9; }
html[data-theme="dark"] body[data-spotter-home] .footer-socials a.footer-social { color:#c3ddcb; }
@media(max-width:650px) {
  body[data-spotter-home] .hero-copy > p { font-size:15px!important; }
  body[data-spotter-home] .so-home-how-link { font-size:13px; }
  body[data-spotter-home].so-v2 #plans { padding-top:64px!important; padding-bottom:68px!important; }
  body[data-spotter-home] #how .step p { font-size:14px!important; }
}

body[data-spotter-home] #plans .plan-renewal { color:#4c5d51!important; font-size:13px!important; line-height:1.55!important; }
body[data-spotter-home] #plans .plan-renewal a { text-decoration:underline; }
html[data-theme="dark"] body[data-spotter-home] #plans .plan-renewal { color:#c2d4c6!important; }

/* Keep a real label and short instructions visible when the example placeholder disappears. */
body[data-spotter-home].so-modern #searchDescriptionFields label[for="searchDescription"] {
  display:block!important; height:auto!important; overflow:visible!important;
  margin:0 2px 8px!important; color:#173d29!important;
  font-size:14px!important; line-height:1.4!important; font-weight:800!important;
}
body[data-spotter-home] #searchDescriptionHelp {
  display:block!important; margin:8px 4px 0!important;
  color:#435b49!important; font-size:13px!important; line-height:1.5!important;
}
html[data-theme="dark"] body[data-spotter-home].so-modern #searchDescriptionFields label[for="searchDescription"] { color:#eaf5eb!important; }
html[data-theme="dark"] body[data-spotter-home] #searchDescriptionHelp { color:#c0d6c6!important; }

/* Compact plan comparison: natural content height and consistent green actions. */
html body[data-spotter-home].so-modern.so-v2 #plans { padding-block:48px!important; }
html body[data-spotter-home].so-modern #plans .plan-grid { align-items:start!important; gap:18px!important; margin-top:24px!important; }
html body[data-spotter-home].so-modern #plans .plan-card { padding:24px!important; min-height:0!important; border-radius:20px!important; }
html body[data-spotter-home].so-modern #plans .plan-card h3 { min-height:0!important; font-size:25px!important; line-height:1.2; }
html body[data-spotter-home].so-modern #plans .plan-card-subtitle { min-height:0!important; margin:6px 0 0!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-card > .kicker { margin:0 0 6px!important; min-height:24px; display:flex; align-items:center; }
html body[data-spotter-home].so-modern #plans .plan-price { margin-top:18px; }
html body[data-spotter-home].so-modern #plans .plan-speed { margin:10px 0 0!important; padding:6px 10px!important; }
html body[data-spotter-home].so-modern #plans .plan-features { flex:0 0 auto!important; gap:10px; margin:18px 0!important; }
html body[data-spotter-home].so-modern #plans .plan-features li { min-height:0!important; font-size:14px; line-height:1.45; }
html body[data-spotter-home].so-modern #plans .plan-card .btn { min-height:44px; margin-top:0!important; background:#286b4b!important; color:#fff!important; border:1px solid #3c835d!important; box-shadow:0 4px 14px rgba(52,133,85,.24)!important; font-size:14px; }
html body[data-spotter-home].so-modern #plans .plan-card .btn:hover { background:#327e59!important; box-shadow:0 5px 18px rgba(52,133,85,.36)!important; }
html body[data-spotter-home].so-modern #plans .plan-card .btn:focus-visible { outline:3px solid #a7db89; outline-offset:3px; }
html body[data-spotter-home].so-modern #plans .plan-annual-offer { margin-top:18px; padding:16px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
html body[data-spotter-home].so-modern #plans .plan-annual-offer .plan-price { margin-top:10px; }
html body[data-spotter-home].so-modern #plans .plan-annual-offer p { margin:8px 0 12px; font-size:13px; }
html body[data-spotter-home].so-modern #plans .plan-annual-offer .btn { width:100%; }
html body[data-spotter-home].so-modern #plans .plan-was { color:var(--muted); font-size:18px; }
@media(max-width:600px) {
  html body[data-spotter-home].so-modern #plans .plan-card { padding:20px!important; }
}

html body[data-spotter-home].so-modern #plans :is(.plan-card-heading,.plan-billing-heading) { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
html body[data-spotter-home].so-modern #plans :is(.plan-card-heading,.plan-billing-heading) .kicker { margin:0!important; }
html body[data-spotter-home].so-modern #plans .plan-value-badge { display:inline-flex; flex-shrink:0; padding:4px 8px; border-radius:999px; background:#286b4b; color:#fff; font-size:11px; font-weight:800; line-height:1.4; white-space:nowrap; }

/* Match comparison rows, and keep annual billing outside the feature cards. */
html body[data-spotter-home].so-modern.so-v2 #plans .plan-grid { align-items:stretch!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-card { border-width:1px!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-card-heading { min-height:24px; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-features { gap:6px; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-features li { min-height:44px!important; align-items:center; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-features small { display:block; font-size:12px; margin-top:2px; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-cross { background:rgba(128,128,128,.12)!important; color:var(--muted)!important; font-size:18px; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-unavailable > span:last-child { color:var(--muted); }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-card > .btn { margin-top:auto!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer { grid-column:1/-1; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:24px; margin:0; padding:18px 24px; border:1px solid var(--line); border-radius:16px; background:var(--card); }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-billing-heading { flex-direction:column; align-items:flex-start; margin:0; gap:8px; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer .plan-price { margin:0; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer p { margin:4px 0 0; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer .btn { width:auto; min-width:160px; min-height:44px; margin:0!important; background:#286b4b!important; color:#fff!important; border:1px solid #3c835d!important; box-shadow:0 4px 14px rgba(52,133,85,.24)!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer .btn:hover { background:#327e59!important; }
html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer .btn:focus-visible { outline:3px solid #a7db89; outline-offset:3px; }
@media(max-width:720px) {
  html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer { grid-template-columns:1fr; gap:12px; padding:20px; }
  html body[data-spotter-home].so-modern.so-v2 #plans .plan-billing-heading { flex-direction:row; align-items:center; justify-content:space-between; }
  html body[data-spotter-home].so-modern.so-v2 #plans .plan-annual-offer .btn { width:100%; }
}

#plans .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

html body[data-spotter-home].so-modern #plans .plan-shared-perks { max-width:1020px; margin:14px auto 0; text-align:center; color:var(--muted); font-size:13px; line-height:1.5; }

/* Make unavailable benefits easy to recognize in either theme. */
html body[data-spotter-home].so-modern.so-v2 #plans .plan-cross { color:#b42332!important; background:#fce8eb!important; }
html[data-theme="dark"] body[data-spotter-home].so-modern.so-v2 #plans .plan-cross { color:#ff929e!important; background:#48262c!important; }

html body[data-spotter-home].so-modern #plans .plan-value-message { max-width:1020px; margin:16px auto 0; text-align:center; font-size:14px; line-height:1.5; color:var(--ink); }
html body[data-spotter-home].so-modern #plans .plan-value-message strong, html body[data-spotter-home].so-modern #plans .plan-value-message span { display:block; }
html body[data-spotter-home].so-modern #plans .plan-value-message span { color:var(--muted); font-size:13px; margin-top:3px; }
html body[data-spotter-home].so-modern #plans .plan-annual-offer .plan-annual-value { font-size:12px; color:var(--muted); }


/* Compact comparison: keyword-only alerts first, every column fits the viewport. */
html body #plans .plan-grid.plan-comparison-wrap { display:block!important; width:100%; max-width:980px; min-width:0; overflow:visible; border:0; border-radius:0; padding:0; background:transparent; }
#plans .plan-comparison-table { width:100%; min-width:0; table-layout:fixed; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; color:var(--ink); background:var(--card); font-size:14px; line-height:1.4; }
#plans .plan-comparison-table .comparison-feature-col { width:31%; }
#plans .plan-comparison-table th, #plans .plan-comparison-table td { padding:10px 12px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); vertical-align:middle; text-align:center; overflow-wrap:anywhere; }
#plans .plan-comparison-table th:last-child, #plans .plan-comparison-table td:last-child { border-right:0; }
#plans .plan-comparison-table tfoot th, #plans .plan-comparison-table tfoot td { border-bottom:0; padding:12px; }
#plans .plan-comparison-table th[scope="row"] { text-align:left; font-weight:750; }
#plans .plan-comparison-table thead th { background:var(--soft); vertical-align:top; padding:14px 12px; }
#plans .plan-comparison-table .comparison-feature-heading { text-align:left; font-size:16px; }
#plans .plan-comparison-table .comparison-paid { background:var(--soft); }
#plans .comparison-tier-badge { display:inline-block; padding:5px 8px; border-radius:7px; background:#245d43; color:#fff; font-size:11px; font-weight:750; line-height:1.4; }
#plans .comparison-keyword-badge { background:var(--muted); color:var(--card); }
html body #plans .plan-comparison-table h3 { font-size:18px!important; line-height:1.25; letter-spacing:-.02em; margin:10px 0; min-height:0; }
#plans .comparison-price { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:4px; margin:0; font-size:12px; color:var(--muted); }
#plans .comparison-price strong { font-size:25px; line-height:1.15; color:var(--ink); letter-spacing:-.03em; }
#plans .comparison-variable { font-size:13px; }
#plans .plan-comparison-table small { display:block; margin-top:3px; font-size:12px; color:var(--muted); font-weight:500; line-height:1.4; }
#plans .comparison-status { display:inline-grid; place-items:center; width:25px; height:25px; border-radius:50%; font-weight:900; font-size:18px; line-height:1; }
#plans .comparison-status.yes { color:#25623c; background:#e1f3dc; }
#plans .comparison-status.no { color:#b42332; background:#fce8eb; }
html[data-theme="dark"] #plans .comparison-status.yes { color:#a6e3ae; background:#23472e; }
html[data-theme="dark"] #plans .comparison-status.no { color:#ff929e; background:#48262c; }
#plans .plan-comparison-table .btn, #plans .comparison-annual-offer .btn { min-height:42px; font-size:13px; padding:9px 10px; white-space:normal; background:#286b4b; color:#fff; border:1px solid #3c835d; }
#plans .plan-comparison-table .btn { width:100%; }
#plans .comparison-keyword-takeaway { margin:0; color:var(--muted); font-size:13px; line-height:1.4; font-weight:600; }
#plans .comparison-annual-offer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:12px; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--card); font-size:14px; }
#plans .comparison-annual-offer p { margin:4px 0 0; font-size:13px; color:var(--muted); line-height:1.4; }
#plans .comparison-annual-offer .btn { flex:0 0 auto; }
#plans .keyword-comparison-note { max-width:980px; margin:12px auto 0; font-size:12px; line-height:1.5; color:var(--muted); }
@media(max-width:650px) {
  #plans .plan-comparison-table { display:block; font-size:14px; }
  #plans .plan-comparison-table colgroup { display:none; }
  #plans .plan-comparison-table thead, #plans .plan-comparison-table tbody, #plans .plan-comparison-table tfoot { display:block; width:100%; }
  #plans .plan-comparison-table tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  #plans .plan-comparison-table .comparison-feature-heading { display:none; }
  #plans .plan-comparison-table th[scope="row"] { grid-column:1/-1; padding:8px 10px; border-right:0; background:var(--soft); font-size:14px; }
  #plans .plan-comparison-table td { padding:8px 6px; min-width:0; }
  #plans .plan-comparison-table thead th { padding:10px 6px; min-width:0; }
  html body #plans .plan-comparison-table h3 { font-size:14px!important; margin:8px 0; }
  #plans .comparison-price strong { font-size:20px; }
  #plans .comparison-price { font-size:11px; }
  #plans .comparison-variable { font-size:12px; }
  #plans .comparison-tier-badge { font-size:10px; padding:4px 5px; }
  #plans .plan-comparison-table tfoot th { border-bottom:1px solid var(--line); }
  #plans .plan-comparison-table tfoot td { padding:10px 6px; }
  #plans .plan-comparison-table .btn { font-size:12px; padding:8px 5px; }
  #plans .comparison-annual-offer { flex-wrap:wrap; padding:12px; gap:10px; }
}


/* Fill short app pages without pinning the footer over content. */
body[data-spotter-home] {
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
body[data-spotter-home] > .nav { flex-shrink:0; }
body[data-spotter-home] > main#top { flex:1 0 auto; width:100%; }
body[data-spotter-home] > footer.footer { flex-shrink:0; margin-top:auto; }

/* Compact Spotter rows, including overrides for the older card theme. */
body[data-spotter-home] #watchList { gap:7px!important; }
body[data-spotter-home] #watchList .watchcard {
  padding:9px 12px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body[data-spotter-home] #watchList .watchtop {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between;
  gap:10px!important;
}
body[data-spotter-home] #watchList .watchtop > div:first-child { min-width:0; }
body[data-spotter-home] #watchList .watchtitle {
  font-size:15px!important;
  line-height:1.35!important;
  margin:0!important;
  overflow-wrap:anywhere;
}
body[data-spotter-home] #watchList .watchmeta { margin-top:3px; font-size:12px!important; }
body[data-spotter-home] #watchList .pill { padding:2px 6px!important; margin-top:4px!important; line-height:1.3; }
body[data-spotter-home] #watchList .watchactions {
  display:flex!important;
  flex-wrap:wrap;
  gap:5px!important;
  flex-shrink:0;
}
body[data-spotter-home] #watchList .watchactions .btn {
  width:auto!important;
  min-height:34px!important;
  padding:6px 9px!important;
  font-size:12px!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
body[data-spotter-home] #watchList .spotter-listings { margin-top:3px!important; }
body[data-spotter-home] #watchList .spotter-listings > summary { padding:4px 0!important; }
@media(max-width:650px) {
  body[data-spotter-home] #watchList .watchtop { align-items:flex-start!important; flex-direction:column; gap:7px!important; }
  body[data-spotter-home] #watchList .watchactions { width:100%; }
  body[data-spotter-home] #watchList .watchactions .btn { min-height:40px!important; flex:1 1 auto; }
}

/* Email consent is a full-width form control, separate from decorative check icons. */
#alertConsentRow { min-width: 0; width: 100%; }
#alertConsentRow .alert-consent-label {
  display: flex; align-items: flex-start; justify-content: flex-start; gap: 12px;
  width: 100%; height: auto; min-width: 0; margin: 0; padding: 14px 16px;
  border: 1px solid var(--line); border-radius: 12px; background: transparent;
  color: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; cursor: pointer;
}
#alertConsentRow .alert-consent-label input {
  width: 20px; height: 20px; flex: 0 0 20px; margin: 1px 0 0;
  accent-color: var(--forest); cursor: pointer;
}
#alertConsentRow .alert-consent-label span {
  flex: 1; min-width: 0; font-size: inherit; font-weight: inherit;
  color: inherit; overflow-wrap: anywhere;
}
#alertConsentRow .alert-consent-label:focus-within {
  outline: 2px solid var(--forest); outline-offset: 2px;
}
