/* VegasTina's approved homepage composition. Shared account and content pages use frontend.css. */
.home-screen { background:#f0f7fc; --ink:#15284b; --line:#e3edf4; }
.home-screen .live-strip { display:none; }
.home-screen .page-width { max-width:1360px; width:calc(100% - 80px); }
.home-screen .site-header { position:relative; box-shadow:0 2px 10px #20426a03; }
.home-screen .header-inner { height:88px; gap:30px; }
.home-screen .primary-nav { gap:27px; }
.home-screen .nav-link { font-size:16px; font-weight:600; }
.home-screen .header-utilities { gap:14px; }
.home-screen .search-form { width:190px; background:#f3f7fb; border:1px solid #edf2f8; }
.home-screen .page-layout { grid-template-columns:212px minmax(0,1fr) 300px; gap:24px; padding-top:24px; align-items:start; }
.home-screen .main-column { gap:20px; min-width:0; }
.home-screen .sidebar { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
.home-welcome { position:relative; isolation:isolate; min-height:226px; border:1px solid #d8eaf6; border-radius:16px; overflow:hidden; background:#eaf6ff; }
.home-welcome-art { position:absolute; z-index:-2; inset:0 0 0 auto; width:57%; height:100%; object-fit:cover; object-position:67% 58%; }
.home-welcome::after { position:absolute; inset:0; z-index:-1; content:''; background:linear-gradient(90deg,#eaf6ff 0%,#eaf6ff 44%,#eaf6ffbd 53%,#eaf6ff00 73%); }
.home-welcome-copy { padding:28px 30px; max-width:63%; }
.home-location { color:#376ca3; font-size:13px; font-weight:600; letter-spacing:.15px; margin-bottom:8px; }
.home-welcome h1 { font-size:32px; line-height:1.35; letter-spacing:-1px; font-weight:800; }
.home-welcome-description { color:#465e7c; font-size:16px; line-height:1.65; margin-top:9px; max-width:340px; }
.home-welcome-copy>a { display:inline-flex; align-items:center; gap:8px; color:#1d61d1; min-height:44px; font-size:14px; font-weight:600; margin-top:12px; }
.home-welcome-copy>a:hover { text-decoration:underline; }
.home-welcome-copy>a>.icon { width:17px; height:17px; }
.home-section { background:#fff; padding:22px; border:1px solid #e4edf5; border-radius:16px; min-width:0; }
.home-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; min-height:34px; }
.home-section-heading h2 { font-size:23px; line-height:1.4; letter-spacing:-.65px; font-weight:750; }
.home-section-heading>.more-link { font-size:13px; min-height:44px; }
.home-section-heading .button { min-height:44px; font-size:13px; padding:9px 15px; }
.home-section-heading .button .icon { width:15px; height:15px; }
.home-topic-tabs { display:flex; align-items:center; gap:22px; border-bottom:1px solid var(--line); margin:-5px 0 16px; }
.home-topic-tabs button { position:relative; min-height:44px; padding:4px 1px 12px; font-size:14px; white-space:nowrap; color:#5f6e86; }
.home-topic-tabs button[aria-selected=true] { color:#1f63df; font-weight:650; }
.home-topic-tabs button[aria-selected=true]::after { content:''; position:absolute; bottom:-1px; height:2px; background:#3478f5; left:0; right:0; border-radius:2px; }
.home-headlines-stage { display:grid; }
.home-headlines-panel { grid-area:1/1; min-width:0; }
.home-headlines-panel[hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.home-headlines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.headline-card { min-width:0; display:flex; flex-direction:column; border:1px solid #e7edf3; border-radius:11px; overflow:hidden; background:#fff; }
.headline-card:hover { border-color:#a8c6e9; }
.headline-image { position:relative; height:132px; background:#f0f5fa; flex:none; }
.headline-image img { width:100%; height:100%; object-fit:cover; }
.headline-placeholder { position:relative; height:132px; padding:19px; display:none; flex-direction:column; justify-content:space-between; overflow:hidden; background:#edf4fc; color:#436993; }
.headline-card:nth-child(2) .headline-placeholder { background:#edf6f2; color:#3f7061; }
.headline-card:nth-child(3) .headline-placeholder { background:#f6f2fb; color:#706285; }
.headline-card.is-text-only .headline-placeholder { display:flex; }
.headline-placeholder>.icon { width:24px; height:24px; }
.headline-placeholder>span { position:relative; z-index:1; font-size:18px; font-weight:650; max-width:90%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.headline-placeholder>i { position:absolute; bottom:-32px; right:-12px; border:18px solid currentColor; opacity:.06; height:125px; width:125px; border-radius:50%; }
.headline-copy { padding:15px 14px 13px; display:flex; flex-direction:column; flex:1; min-height:124px; }
.headline-copy h3 { font-size:16px; font-weight:650; line-height:1.6; letter-spacing:-.25px; word-break:keep-all; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.headline-copy>p { display:flex; gap:7px; align-items:center; font-size:13px; color:#5f6e86; margin-top:auto; padding-top:13px; }
.headline-copy>p>span:first-child { max-width:60%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.headline-copy>p>span+span { white-space:nowrap; }
.headline-copy>p>span+span::before { content:'·'; margin-right:7px; }
.section-end-link { display:flex; align-items:center; justify-content:flex-end; min-height:44px; gap:6px; font-size:13px; color:#526986; margin-top:5px; }
.section-end-link>.icon { width:15px; height:15px; }
.board-shortcuts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.board-shortcut { display:flex; align-items:center; justify-content:center; min-height:64px; gap:9px; border-radius:10px; padding:10px 6px; background:#edf4fc; color:#2f6096; }
.board-shortcut:nth-child(2) { background:#fff2ec; color:#c46b43; }
.board-shortcut:nth-child(3) { background:#edf7f3; color:#3c987c; }
.board-shortcut:nth-child(4) { background:#f4effb; color:#8a68b0; }
.board-shortcut:nth-child(5) { background:#fcf5e9; color:#bc852e; }
.board-shortcut>.icon { width:24px; height:24px; stroke-width:1.7; }
.board-shortcut>span { color:var(--ink); font-size:14px; font-weight:550; }
.board-shortcut:hover { box-shadow:inset 0 0 0 1px #aac5e5; }
.home-conversations { border-top:1px solid var(--line); }
.home-conversations a { display:flex; align-items:center; gap:13px; min-height:51px; border-bottom:1px solid #eff3f7; font-size:15px; }
.conversation-category { color:#526f91; min-width:65px; font-size:13px; }
.home-conversations strong { font-weight:500; flex:1; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.home-conversations time { font-size:13px; color:var(--muted); white-space:nowrap; }
.home-conversations .icon { width:14px; height:14px; color:#7388a2; }
.home-community-empty { display:flex; align-items:center; gap:14px; padding:19px 0 0; border-top:1px solid var(--line); flex-wrap:wrap; }
.community-wave { display:grid; place-items:center; width:42px; height:42px; flex:none; border-radius:14px; background:#eff5fc; color:#4b83c1; }
.home-community-empty>div { flex:1; min-width:240px; }
.home-community-empty h3 { font-size:15px; font-weight:600; margin-bottom:4px; }
.home-community-empty p { font-size:13px; color:#5f6e86; }
.home-community-empty>a { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:#2463c5; font-size:13px; font-weight:600; }
.home-community-empty>a>.icon { width:15px; height:15px; }
.home-place-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-place-list>a { display:flex; align-items:center; min-width:0; gap:10px; min-height:55px; }
.home-place-icon { background:#f7f2e9; color:#ad8150; height:40px; width:40px; border-radius:11px; display:grid; place-items:center; flex:none; }
.home-place-icon>.icon { width:20px; height:20px; }
.home-place-list>a>span:nth-child(2) { flex:1; min-width:0; }
.home-place-list strong { display:block; font-size:14px; font-weight:600; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.home-place-list small { display:block; font-size:13px; color:#5f6e86; }
.home-place-list>a>.icon { width:14px; height:14px; color:#8495aa; }
.home-screen .neighborhood-card { border:1px solid #e1ebf4; border-radius:16px; background:#fff; }
.home-screen .neighborhood-weather { padding:22px 24px 0; }
.home-screen .neighborhood-location h2 { font-size:20px; font-weight:700; }
.home-screen .neighborhood-location>span { font-size:13px; }
.home-screen .neighborhood-conditions { justify-content:flex-start; gap:20px; padding:19px 0 12px; }
.home-screen .neighborhood-conditions>.weather-icon .icon { width:58px; height:58px; color:#f4b12d; stroke-width:1.6; }
.home-screen .neighborhood-conditions>div>p { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:10px; }
.home-screen .neighborhood-conditions strong { font-size:40px; line-height:1.15; letter-spacing:-1.5px; font-weight:700; }
.home-screen .weather-fahrenheit { color:#5f6e86; font-size:13px; }
.home-screen .neighborhood-conditions>div>span { display:block; margin-top:5px; font-size:14px; }
.home-screen .neighborhood-forecast summary { min-height:44px; font-size:13px; }
.home-screen .neighborhood-join { background:#fff; padding:20px 24px 13px; margin-top:9px; }
.home-screen .neighborhood-join h3 { font-size:18px; line-height:1.45; }
.home-screen .neighborhood-join>.button { font-size:15px; min-height:46px; margin-top:15px; }
.home-screen .neighborhood-signin { font-size:13px; }
.home-screen .neighborhood-member { padding:18px 24px; }
.home-screen .advertisement { order:0; }
.home-screen .ad-label { margin-bottom:8px; }
.home-screen .sidebar-ad-stack { gap:18px; }
.home-screen .ad-placement { position:relative; overflow:hidden; align-items:flex-start; text-align:left; min-height:188px; padding:22px; isolation:isolate; border-radius:14px; }
.home-screen .ad-placement img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; z-index:-1; }
.home-screen .ad-placement::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fff8ed 0%,#fff8eddd 45%,#fff8ed00 82%); }
.home-screen .ad-placement-secondary::before { background:linear-gradient(90deg,#f7fbff 0%,#f7fbffdd 45%,#f7fbff00 82%); }
.home-screen .ad-placement-primary { background:#fff8ed; border-color:#eee5d7; }
.home-screen .ad-placement-secondary { background:#f7fbff; border-color:#dde9f4; gap:0; }
.home-screen .ad-placement>.icon { display:none; }
.home-screen .ad-placement-eyebrow { font-size:13px; letter-spacing:0; color:#706755; margin-bottom:16px; }
.home-screen .ad-placement-secondary .ad-placement-eyebrow { color:#5b7290; }
.home-screen .ad-placement strong { max-width:85%; font-size:21px; font-weight:700; letter-spacing:-.65px; line-height:1.45; white-space:pre-line; color:#203253; }
.home-screen .ad-placement-action,.home-screen .ad-placement-secondary>span:last-child { font-size:13px; font-weight:600; color:#285fac; min-height:36px; display:inline-flex; align-items:center; gap:6px; margin-top:14px; }
.home-screen .site-footer { margin-top:32px; border-top-color:#e1eaf2; }
@media (min-width:1400px) {
  .home-screen .page-layout { grid-template-columns:212px minmax(0,1fr) 320px; }
  .home-welcome { min-height:238px; }
  .home-welcome-copy { padding:30px 34px; }
  .home-welcome h1 { font-size:36px; }
  .headline-image,.headline-placeholder { height:144px; }
  .headline-copy h3 { font-size:17px; }
}
@media (max-width:1199px) {
  .home-screen .header-inner { height:auto; min-height:84px; row-gap:0; }
  .home-screen .page-width { width:calc(100% - 48px); }
  .home-screen .page-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }
  .home-screen .primary-nav { width:auto; height:70px; order:0; margin:0; gap:19px; }
  .home-screen .header-utilities { margin-left:auto; }
  .home-screen .search-form { width:140px; }
  .home-screen .header-inner { column-gap:22px; }
  .home-screen .nav-link { font-size:14px; }
  .home-welcome-copy { padding:24px; max-width:68%; }
  .home-welcome h1 { font-size:29px; }
  .home-section { padding:18px; }
  .home-section-heading h2 { font-size:21px; }
  .home-headlines { gap:10px; }
  .headline-copy { padding:13px 11px; }
  .headline-copy h3 { font-size:16px; }
  .board-shortcut { flex-direction:column; gap:6px; min-height:76px; }
  .board-shortcut>span { font-size:13px; }
}
@media (max-width:1059px) {
  .home-screen .header-inner { flex-wrap:wrap; padding-top:12px; }
  .home-screen .primary-nav { order:3; width:100%; height:54px; justify-content:space-between; }
  .home-screen .nav-link { font-size:16px; }
  .home-screen .search-form { width:210px; }
  .home-screen .page-layout { grid-template-columns:minmax(0,1fr); }
  .home-screen .sidebar { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:none; width:100%; }
  .home-screen .main-column { gap:20px; }
  .home-welcome-art { width:57%; }
  .home-welcome-copy { max-width:63%; }
  .home-welcome h1 { font-size:32px; }
  .board-shortcut { flex-direction:row; }
  .home-place-list { gap:12px; }
}
@media (max-width:620px) {
  .home-screen .page-width { width:calc(100% - 32px); }
  .home-screen .header-inner { min-height:0; padding-top:14px; gap:8px; }
  .home-screen .header-inner>.brand { width:140px; flex-basis:140px; }
  .home-screen .header-utilities { gap:10px; }
  .home-screen .search-form { width:calc(100% - 128px); height:42px; }
  .home-screen .primary-nav { display:grid; grid-template-columns:.8fr .9fr 1.1fr 1fr 1.5fr; height:auto; gap:2px; padding:4px 0 7px; }
  .home-screen .nav-link { min-height:44px; font-size:14px; padding:8px 3px; background:transparent; border-radius:7px; }
  .home-screen .nav-link.is-active { background:#eef5ff; }
  .home-screen .page-layout { padding-top:16px; gap:20px; }
  .home-screen .main-column { gap:16px; }
  .home-welcome { display:flex; flex-direction:column; min-height:0; }
  .home-welcome::after { display:none; }
  .home-welcome-art { position:static; order:2; width:100%; height:138px; object-position:60% 65%; z-index:auto; }
  .home-welcome-copy { padding:22px 24px 16px; max-width:none; }
  .home-location { font-size:13px; margin-bottom:6px; }
  .home-welcome h1 { font-size:27px; }
  .home-welcome-description { font-size:14px; margin-top:5px; }
  .home-welcome-copy>a { margin-top:7px; font-size:14px; min-height:44px; }
  .home-section { border-radius:14px; padding:18px 16px; }
  .home-section-heading { gap:12px; margin-bottom:14px; }
  .home-section-heading h2 { font-size:21px; }
  .home-topic-tabs { gap:4px 15px; flex-wrap:wrap; margin:0 0 16px; }
  .home-topic-tabs button { min-height:44px; font-size:13px; padding:6px 0 10px; }
  .home-headlines-stage { display:block; }
  .home-headlines-panel[hidden] { display:none!important; }
  .home-headlines { display:flex; flex-direction:column; gap:0; }
  .headline-card { display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; padding:14px 0; border:0; border-bottom:1px solid #eaf0f6; border-radius:0; }
  .headline-card:first-child { padding-top:0; }
  .headline-card:last-child { border-bottom:0; padding-bottom:0; }
  .headline-image,.headline-placeholder { height:88px; border-radius:9px; }
  .headline-placeholder { padding:12px; }
  .headline-placeholder>span { font-size:13px; }
  .headline-placeholder>.icon { width:18px; height:18px; }
  .headline-copy { min-height:88px; padding:0; }
  .headline-copy h3 { font-size:16px; line-height:1.55; -webkit-line-clamp:3; }
  .headline-copy>p { padding-top:8px; gap:5px; }
  .headline-copy>p>span:first-child { max-width:58%; }
  .headline-copy>p>span+span::before { margin-right:5px; }
  .board-shortcuts { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
  .board-shortcut { grid-column:span 2; flex-direction:row; min-height:62px; gap:6px; }
  .board-shortcut:nth-last-child(-n+2) { grid-column:span 3; }
  .board-shortcut>span { font-size:13px; }
  .board-shortcut>.icon { width:20px; height:20px; }
  .home-community-empty { gap:8px; padding-top:16px; }
  .community-wave { display:none; }
  .home-community-empty>div { min-width:0; flex-basis:100%; }
  .home-community-empty p { margin-top:6px; }
  .home-conversations a { gap:9px; min-height:58px; flex-wrap:wrap; padding:11px 0; }
  .conversation-category { min-width:0; font-size:13px; }
  .home-conversations strong { flex-basis:70%; font-size:14px; }
  .home-conversations time { margin-left:auto; }
  .home-place-list { grid-template-columns:1fr; gap:0; }
  .home-place-list>a { min-height:68px; border-bottom:1px solid #eef2f7; }
  .home-place-list>a:last-child { border:0; }
  .home-place-list strong { font-size:15px; }
  .home-screen .sidebar { display:flex; max-width:none; }
  .home-screen .neighborhood-weather { padding:20px 24px 0; }
  .home-screen .neighborhood-conditions { padding:14px 0 6px; }
  .home-screen .neighborhood-join { padding:18px 24px 12px; }
  .home-screen .ad-placement { min-height:180px; }
}
@media (max-width:360px) {
  .headline-card { grid-template-columns:80px minmax(0,1fr); gap:10px; }
}

/* ---- partners row (partners.py): the banners dolxing.com featured, a name, one line, one link */
.partner-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.partner-card a { display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid #dfe5ed; border-radius:14px; background:#fff; color:var(--ink); transition:box-shadow .15s ease, transform .15s ease; }
.partner-card a:hover { box-shadow:0 8px 22px #1736651a; transform:translateY(-1px); }
.partner-card a:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.partner-card img { display:block; width:100%; height:auto; aspect-ratio:580 / 356; object-fit:cover; background:#f3f6fb; }
.partner-text { display:grid; gap:4px; padding:12px 14px 14px; }
.partner-text strong { font-size:16px; line-height:1.4; }
.partner-text > span { color:#5f6e86; font-size:14px; line-height:1.55; }
.partner-text > .partner-cta { display:inline-flex; align-items:center; gap:4px; margin-top:4px; color:var(--blue-dark); font-weight:700; }
.partner-cta .icon { width:15px; height:15px; }
@media (max-width:620px) { .partner-grid { grid-template-columns:minmax(0, 1fr); } }
@media (prefers-reduced-motion:reduce) { .partner-card a { transition:none; } .partner-card a:hover { transform:none; } }
