/*
Theme Name: Connect Community
Theme URI: https://example.com/connect-community
Author: Connect
Description: A responsive community bulk-buying theme for collecting demand, negotiating offers, and sharing savings.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: connect-community
*/

:root {
  --connect-green: #16866f;
  --connect-green-dark: #106d5c;
  --connect-ink: #162824;
  --connect-muted: #65736f;
  --connect-line: #e7eeeb;
  --connect-soft: #f2f8f5;
  --connect-mint: #dff4eb;
  --connect-white: #fff;
  --connect-radius: 22px;
  --connect-shadow: 0 16px 40px rgba(20, 54, 45, .08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--connect-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; }
a { color: var(--connect-green); text-decoration: none; }
a:hover { color: var(--connect-green-dark); }
button, input, select, textarea { font: inherit; }
button, .button, input[type="submit"] {
  border: 0;
  cursor: pointer;
}
.site-shell { min-height: 100vh; overflow: hidden; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 76px 0; }
.section--soft { background: var(--connect-soft); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.section-heading h2 { margin:0; font-size:clamp(1.7rem, 3vw, 2.35rem); line-height:1.15; letter-spacing:-.045em; }
.section-heading p { color:var(--connect-muted); margin:8px 0 0; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--connect-green); font-weight:750; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.eyebrow:before { content:""; width:20px; height:2px; background:currentColor; }
.muted { color:var(--connect-muted); }
.small { font-size:.87rem; }

.site-header { position:relative; z-index:5; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(231,238,235,.8); }
.header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--connect-ink); font-size:1.35rem; font-weight:850; letter-spacing:-.06em; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; color:#fff; border-radius:12px; background:var(--connect-green); font-size:19px; letter-spacing:0; }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-name { display:block; }
.brand-subtitle { display:none; }
.brand img { width:auto; max-height:44px; }
.main-navigation { display:flex; align-items:center; gap:25px; }
.main-navigation a { color:#52615d; font-size:.92rem; font-weight:650; }
.main-navigation a:hover, .main-navigation .current-menu-item > a { color:var(--connect-green); }
.header-actions { display:flex; align-items:center; gap:12px; }
.mobile-notification { display:none; }
.mobile-bottom-nav { display:none; }
.button { display:inline-flex; min-height:46px; justify-content:center; align-items:center; gap:9px; padding:0 20px; border-radius:999px; background:var(--connect-green); color:#fff; font-weight:750; font-size:.93rem; transition:transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { color:#fff; background:var(--connect-green-dark); transform:translateY(-1px); box-shadow:0 8px 18px rgba(22,134,111,.2); }
.button--light { color:var(--connect-green); background:#fff; border:1px solid var(--connect-line); }
.button--light:hover { color:var(--connect-green-dark); background:#f9fcfa; }
.button--outline { color:var(--connect-green); border:1px solid #b9ddd1; background:transparent; }
.button--outline:hover { color:#fff; }
.button--small { min-height:38px; padding:0 15px; font-size:.83rem; }
.menu-toggle { display:none; border:1px solid var(--connect-line); color:var(--connect-ink); background:#fff; border-radius:12px; padding:9px 12px; }

.hero { position:relative; padding:74px 0 70px; background:radial-gradient(ellipse at 90% 20%, #e5f7ed 0, rgba(229,247,237,0) 39%), linear-gradient(180deg,#fbfdfb 0%,#fff 100%); }
.hero-mobile { display:none; }
.hero-grid { display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:50px; }
.hero h1 { max-width:680px; margin:16px 0 18px; font-size:clamp(2.8rem, 6vw, 5rem); line-height:.99; letter-spacing:-.075em; }
.hero h1 em { color:var(--connect-green); font-style:normal; }
.hero-copy { max-width:545px; color:var(--connect-muted); font-size:1.1rem; margin:0 0 27px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.hero-note { display:flex; align-items:center; gap:10px; margin-top:25px; color:#75817e; font-size:.84rem; }
.avatar-stack { display:flex; padding-left:5px; }
.avatar-stack span { width:27px; height:27px; margin-left:-6px; border:2px solid #fff; border-radius:50%; display:grid; place-items:center; background:#d9efe5; font-size:.68rem; }
.hero-visual { position:relative; min-height:405px; display:grid; place-items:center; }
.hero-orbit { position:absolute; width:min(390px, 90%); aspect-ratio:1; border:1px dashed #c5e4d6; border-radius:50%; }
.hero-orbit:before,.hero-orbit:after { content:""; position:absolute; border:1px solid #d7eee3; border-radius:50%; inset:26px; }
.hero-orbit:after { inset:58px; }
.hero-product { position:relative; z-index:1; width:270px; padding:24px; border:1px solid rgba(255,255,255,.9); border-radius:28px; background:rgba(255,255,255,.92); box-shadow:0 24px 70px rgba(20,81,62,.14); transform:rotate(-3deg); }
.hero-product-art { height:160px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#e0f5e8,#c5e9d4); font-size:5.7rem; }
.hero-product h3 { margin:16px 0 1px; font-size:1.05rem; }
.hero-product p { margin:0; font-size:.84rem; color:var(--connect-muted); }
.hero-product-bottom { display:flex; justify-content:space-between; align-items:end; margin-top:15px; }
.hero-product-bottom strong { display:block; font-size:1.22rem; color:var(--connect-green); }
.hero-product-bottom del { color:#929d99; font-size:.8rem; }
.floating-pill { position:absolute; z-index:2; display:flex; align-items:center; gap:9px; padding:12px 15px; border:1px solid var(--connect-line); border-radius:16px; background:#fff; box-shadow:var(--connect-shadow); font-size:.82rem; font-weight:700; }
.floating-pill span { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#e9f7ef; }
.floating-pill--top { top:33px; right:0; }
.floating-pill--bottom { bottom:26px; left:2px; }
.trust-row { display:flex; align-items:center; gap:18px; color:#7a8783; font-size:.82rem; margin-top:42px; }
.trust-row strong { color:#33443f; }

.search-panel { position:relative; z-index:2; width:min(800px,100%); margin:-26px auto 0; padding:13px; display:flex; gap:10px; border:1px solid var(--connect-line); border-radius:18px; background:#fff; box-shadow:var(--connect-shadow); }
.search-panel input { min-width:0; flex:1; border:0; outline:0; padding:0 13px; color:var(--connect-ink); background:transparent; }
.search-panel input::placeholder { color:#98a39f; }
.search-panel .button { flex-shrink:0; }

.category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.category-card { display:flex; flex-direction:column; align-items:center; gap:10px; padding:19px 12px 16px; border:1px solid var(--connect-line); border-radius:18px; color:var(--connect-ink); background:#fff; text-align:center; transition:.2s ease; }
.category-card:hover { border-color:#a8d8c7; transform:translateY(-3px); box-shadow:var(--connect-shadow); }
.category-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:17px; background:var(--connect-soft); font-size:1.55rem; }
.category-card strong { font-size:.9rem; }
.category-card small { color:var(--connect-muted); font-size:.75rem; }

.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.demand-card,.deal-card,.content-card { border:1px solid var(--connect-line); border-radius:var(--connect-radius); background:#fff; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.demand-card:hover,.deal-card:hover,.content-card:hover { transform:translateY(-3px); box-shadow:var(--connect-shadow); }
.demand-card { padding:22px; }
.card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.product-icon { display:grid; place-items:center; width:54px; height:54px; flex-shrink:0; border-radius:17px; background:#eff8f2; font-size:1.7rem; }
.badge { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; color:#17745f; background:#e7f6ed; font-weight:750; font-size:.72rem; white-space:nowrap; }
.badge--amber { color:#986313; background:#fff3d8; }
.badge--gray { color:#64716d; background:#edf1ef; }
.demand-card h3,.deal-card h3 { margin:17px 0 4px; font-size:1.15rem; letter-spacing:-.025em; }
.demand-card p,.deal-card p { margin:0; color:var(--connect-muted); font-size:.88rem; }
.demand-stats { margin-top:21px; }
.progress-line { height:7px; margin:8px 0 9px; border-radius:9px; background:#edf2ef; overflow:hidden; }
.progress-line span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#16866f,#55c79b); }
.stat-row { display:flex; justify-content:space-between; gap:12px; color:#65736f; font-size:.78rem; }
.stat-row strong { color:var(--connect-ink); }
.demand-card .card-foot { margin-top:18px; padding-top:16px; border-top:1px solid var(--connect-line); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.deal-card { display:flex; flex-direction:column; }
.deal-image { position:relative; min-height:190px; display:grid; place-items:center; background:linear-gradient(145deg,#e8f5ed,#d7eddf); font-size:5rem; }
.deal-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.deal-image .badge { position:absolute; top:14px; left:14px; }
.deal-content { padding:20px; display:flex; flex:1; flex-direction:column; }
.deal-prices { display:flex; align-items:baseline; gap:9px; margin:13px 0 5px; }
.deal-prices strong { color:var(--connect-green); font-size:1.45rem; letter-spacing:-.04em; }
.deal-prices del { color:#9aa5a0; font-size:.87rem; }
.savings { color:#13715d !important; font-weight:750; font-size:.8rem !important; }
.deal-meta { display:flex; justify-content:space-between; gap:10px; margin:17px 0; padding-top:14px; border-top:1px solid var(--connect-line); color:var(--connect-muted); font-size:.79rem; }
.deal-content .button { margin-top:auto; }
.empty-state { padding:28px; color:var(--connect-muted); text-align:center; border:1px dashed #cbd9d3; border-radius:18px; background:#fbfdfb; }

.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.step-card { padding:22px; }
.step-number { width:43px; height:43px; display:grid; place-items:center; color:var(--connect-green); background:#e2f4ea; border-radius:14px; font-weight:850; }
.step-card h3 { margin:17px 0 6px; font-size:1.05rem; }
.step-card p { margin:0; color:var(--connect-muted); font-size:.9rem; }
.step-card:not(:last-child) { border-right:1px solid var(--connect-line); }
.cta-band { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:42px 46px; overflow:hidden; border-radius:28px; color:#fff; background:linear-gradient(115deg,#116d5b,#1d9b7c); }
.cta-band:after { content:""; position:absolute; width:330px; height:330px; right:15%; top:-220px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 58px rgba(255,255,255,.035); }
.cta-band h2 { position:relative; z-index:1; max-width:560px; margin:0 0 8px; font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.12; letter-spacing:-.05em; }
.cta-band p { position:relative; z-index:1; margin:0; color:rgba(255,255,255,.78); }
.cta-band .button { position:relative; z-index:1; flex-shrink:0; color:var(--connect-green-dark); background:#fff; }

.page-hero { padding:60px 0 40px; background:linear-gradient(180deg,#f3faf6,#fff); }
.page-hero h1 { margin:8px 0 12px; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.04; letter-spacing:-.065em; }
.page-hero p { max-width:680px; margin:0; color:var(--connect-muted); font-size:1.05rem; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:26px; align-items:start; }
.form-card,.sidebar-card,.content-card { padding:25px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field--full { grid-column:1/-1; }
.field label { font-size:.86rem; font-weight:750; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:11px 13px; border:1px solid #dfe8e3; border-radius:12px; outline:0; color:var(--connect-ink); background:#fff; }
.field textarea { min-height:112px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#78c7aa; box-shadow:0 0 0 3px rgba(22,134,111,.1); }
.form-note { padding:12px 15px; margin-bottom:18px; border-radius:12px; color:#176b58; background:#e9f7ef; font-size:.9rem; }
.sidebar-card { margin-bottom:18px; border:1px solid var(--connect-line); border-radius:var(--connect-radius); background:#fff; }
.sidebar-card h3 { margin:0 0 10px; font-size:1rem; }
.sidebar-card p { margin:0; color:var(--connect-muted); font-size:.88rem; }
.status-list { display:grid; gap:13px; margin-top:17px; }
.status-item { display:flex; align-items:center; gap:10px; color:#52615d; font-size:.86rem; }
.status-dot { width:10px; height:10px; border-radius:50%; background:#5ac296; box-shadow:0 0 0 4px #e7f6ee; }
.status-dot--negotiating { background:#e7af43; box-shadow:0 0 0 4px #fff4df; }
.status-dot--closed { background:#9aa7a2; box-shadow:0 0 0 4px #eff2f0; }
.table-wrap { overflow:auto; border:1px solid var(--connect-line); border-radius:18px; background:#fff; }
.connect-table { width:100%; border-collapse:collapse; min-width:600px; text-align:left; }
.connect-table th,.connect-table td { padding:15px 17px; border-bottom:1px solid var(--connect-line); }
.connect-table th { color:#798681; background:#f8fbf9; font-size:.75rem; text-transform:uppercase; letter-spacing:.07em; }
.connect-table td { font-size:.9rem; }
.connect-table tr:last-child td { border-bottom:0; }
.community-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:22px 0 30px; }
.community-stat { padding:22px; border:1px solid var(--connect-line); border-radius:18px; background:#fff; }
.community-stat strong { display:block; color:var(--connect-green); font-size:1.8rem; letter-spacing:-.05em; }
.community-stat span { color:var(--connect-muted); font-size:.86rem; }
.vendor-banner { padding:25px; border-radius:20px; color:#fff; background:#173b32; }
.vendor-banner h3 { margin:0 0 8px; color:#fff; }
.vendor-banner p { color:#d1e1da; font-size:.9rem; }
.article-content { max-width:790px; margin:0 auto; }
.article-content h2,.article-content h3 { letter-spacing:-.035em; }
.article-content img { border-radius:18px; }
.pagination { display:flex; gap:8px; margin-top:26px; }
.pagination .page-numbers { padding:8px 13px; border-radius:10px; background:#f1f7f3; }
.pagination .current { color:#fff; background:var(--connect-green); }

.site-footer { padding:55px 0 25px; color:#cbd8d2; background:#173b32; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:35px; }
.footer-brand { color:#fff; }
.footer-about { max-width:300px; margin:15px 0 0; color:#afc2b9; font-size:.9rem; }
.footer-col h3 { margin:2px 0 14px; color:#fff; font-size:.9rem; }
.footer-col a { display:block; margin:9px 0; color:#afc2b9; font-size:.86rem; }
.footer-col a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:15px; margin-top:38px; padding-top:18px; border-top:1px solid rgba(255,255,255,.13); color:#9db2a8; font-size:.78rem; }

@media (max-width: 900px) {
  .main-navigation { gap:15px; }
  .hero-grid { gap:24px; }
  .hero-visual { min-height:360px; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .card-grid { grid-template-columns:repeat(2,1fr); }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .step-card:nth-child(2) { border-right:0; }
  .step-card:nth-child(-n+2) { border-bottom:1px solid var(--connect-line); }
  .content-layout { grid-template-columns:minmax(0,1fr) 260px; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
  .container { width:min(100% - 30px, 560px); }
  body { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  .header-inner { min-height:66px; gap:10px; }
  .brand { gap:7px; font-size:1.08rem; }
  .brand-mark--pin { position:relative; display:block; width:23px; height:28px; background:transparent; border-radius:0; font-size:0; }
  .brand-mark--pin:before { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50% 50% 50% 0; background:var(--connect-green); transform:rotate(-45deg); }
  .brand-mark--pin:after { content:""; position:absolute; top:8px; left:8px; width:6px; height:6px; border-radius:50%; background:#fff; }
  .brand-subtitle { display:block; margin-top:3px; color:#82908a; font-size:.61rem; font-weight:550; letter-spacing:0; white-space:nowrap; }
  .brand img { max-height:36px; }
  .mobile-notification { display:grid; place-items:center; width:37px; height:37px; color:#273a34; border:1px solid var(--connect-line); border-radius:50%; }
  .mobile-notification svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .menu-toggle { display:none; }
  .header-actions { display:none; }
  .main-navigation { display:none !important; }
  .hero { padding:14px 0 12px; background:#fff; }
  .hero-mobile { display:block; }
  .hero-grid { display:none; }
  .hero-mobile-banner { position:relative; display:flex; min-height:148px; align-items:flex-end; overflow:hidden; padding:17px; border-radius:16px; color:#fff; background:linear-gradient(180deg,rgba(19,46,39,.02) 18%,rgba(13,49,39,.79) 100%),linear-gradient(125deg,#91bba7 0%,#709f89 46%,#c6d7ba 100%); }
  .hero-mobile-banner:before { content:""; position:absolute; z-index:0; left:-6%; bottom:-36px; width:65%; height:112px; border-radius:46% 58% 0 0; background:linear-gradient(180deg,#7b9c7b,#416a58); box-shadow:125px 15px 0 -10px #607e61,220px 3px 0 -18px #426e5e; }
  .hero-mobile-banner:after { content:""; position:absolute; z-index:0; right:25px; bottom:23px; width:47px; height:70px; border-radius:5px 5px 0 0; background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(38,86,70,.34) 10px 13px),repeating-linear-gradient(0deg,#dfdfc5 0 13px,#b7cdb1 13px 16px); box-shadow:-53px 16px 0 -6px #d2d5b9,-108px 24px 0 -12px #aebf9f; }
  .hero-mobile-banner > * { position:relative; z-index:1; }
  .hero-mobile-location { position:absolute; top:13px; left:15px; font-size:.62rem; font-weight:700; color:rgba(255,255,255,.9); letter-spacing:.015em; text-transform:uppercase; }
  .hero-mobile-location span { color:#a8f0c9; font-size:.48rem; vertical-align:2px; }
  .hero-mobile-banner div { font-size:1.15rem; line-height:1.2; font-weight:650; text-shadow:0 2px 9px rgba(0,0,0,.25); }
  .hero-mobile-banner strong { font-size:1.4rem; font-weight:850; }
  .hero-mobile-intro { display:flex; align-items:center; gap:12px; margin-top:10px; padding:12px 13px; border:1px solid #e1f0e8; border-radius:15px; background:#f0f8f3; }
  .hero-mobile-community-icon { display:grid; place-items:center; flex:0 0 39px; height:39px; border-radius:50%; color:#fff; background:var(--connect-green); font-size:1.15rem; }
  .hero-mobile-intro strong { display:block; font-size:.83rem; }
  .hero-mobile-intro p { margin:2px 0 0; color:#63736c; font-size:.71rem; line-height:1.4; }
  .homepage-search-wrap { order:2; margin-top:1px; }
  .search-panel { margin:0 auto; padding:8px 9px; gap:7px; border-radius:13px; box-shadow:0 5px 16px rgba(20,54,45,.07); }
  .search-panel > span { padding-left:3px; color:#73817c; }
  .search-panel input { padding:0 8px; font-size:.86rem; }
  .search-panel .button { min-height:38px; padding:0 13px; font-size:.78rem; }
  body.home #primary { display:flex; flex-direction:column; }
  body.home #primary > .hero { order:1; }
  body.home #primary > .section--categories { order:3; }
  body.home #primary > .section--deals { order:4; }
  body.home #primary > .section--trending { order:5; }
  body.home #primary > .section:not(.section--categories):not(.section--deals):not(.section--trending) { order:6; }
  .section { padding:28px 0; }
  .section--categories { padding-top:20px; padding-bottom:20px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:22px; }
  .section--categories .section-heading { flex-direction:row; align-items:center; justify-content:space-between; gap:8px; margin-bottom:13px; }
  .section--categories .section-heading h2 { font-size:1.05rem; letter-spacing:-.025em; }
  .section--categories .section-heading .eyebrow { display:none; }
  .section--categories .section-heading > a { flex-shrink:0; font-size:.75rem; }
  .category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px 7px; }
  .category-card { min-width:0; padding:9px 3px 8px; border:0; border-radius:13px; gap:6px; }
  .category-card:hover { transform:none; box-shadow:none; background:#f7fbf8; }
  .category-icon { width:39px; height:39px; font-size:1.15rem; border-radius:13px; }
  .category-card strong { font-size:.65rem; line-height:1.2; }
  .category-card small { display:none; }
  .section--deals .section-heading,.section--trending .section-heading { align-items:flex-start; flex-direction:row; justify-content:space-between; gap:8px; }
  .section--deals .section-heading h2,.section--trending .section-heading h2 { font-size:1.15rem; }
  .section--deals .section-heading .eyebrow,.section--trending .section-heading .eyebrow { display:none; }
  .section--deals .section-heading > a,.section--trending .section-heading > a { flex-shrink:0; font-size:.74rem; }
  .section--deals { padding-top:17px; }
  .section--deals .deal-image { min-height:132px; font-size:4rem; }
  .section--deals .deal-content { padding:14px; }
  .section--deals .deal-content h3 { margin-top:0; font-size:1rem; }
  .section--deals .deal-prices { margin:9px 0 3px; }
  .section--deals .deal-meta { margin:11px 0; padding-top:10px; }
  .section--deals .deal-content .button { min-height:40px; }
  .section--trending { padding-top:17px; }
  .section--trending .demand-card { padding:17px; }
  .section--trending .demand-card .card-foot { margin-top:13px; padding-top:12px; }
  .section:not(.section--categories):not(.section--deals):not(.section--trending) { padding:37px 0; }
  .card-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; gap:0; }
  .step-card { padding:19px 3px; border-right:0 !important; border-bottom:1px solid var(--connect-line); }
  .step-card:last-child { border-bottom:0; }
  .cta-band { align-items:flex-start; flex-direction:column; padding:29px 24px; }
  .page-hero { padding:35px 0 25px; }
  .content-layout { grid-template-columns:1fr; }
  .form-card,.sidebar-card,.content-card { padding:19px; }
  .form-grid { grid-template-columns:1fr; gap:14px; }
  .field--full { grid-column:auto; }
  .community-stats { grid-template-columns:1fr; gap:10px; }
  .community-stat { padding:16px; }
  .community-stat strong { font-size:1.5rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:25px 16px; }
  .footer-grid > :first-child { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; }
  .site-footer { padding-bottom:24px; }
  .mobile-bottom-nav { position:fixed; z-index:20; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:space-around; min-height:62px; padding:5px 10px calc(5px + env(safe-area-inset-bottom)); border-top:1px solid #e8eeea; background:rgba(255,255,255,.97); box-shadow:0 -6px 18px rgba(28,55,44,.06); }
  .mobile-bottom-nav a { display:flex; min-width:51px; flex-direction:column; align-items:center; justify-content:center; gap:2px; color:#63736c; }
  .mobile-bottom-nav a > span { font-size:1.1rem; line-height:1.15; }
  .mobile-bottom-nav small { font-size:.61rem; font-weight:650; }
  .mobile-bottom-nav a.is-active { color:var(--connect-green); }
  .mobile-bottom-nav .mobile-bottom-add { width:39px; min-width:39px; height:39px; margin-top:-21px; border:4px solid #fff; border-radius:50%; color:#fff; background:var(--connect-green); box-shadow:0 4px 12px rgba(22,134,111,.28); }
  .mobile-bottom-nav .mobile-bottom-add > span { font-size:1.45rem; }
  .table-wrap { overflow:visible; border:0; background:transparent; }
  .connect-table { display:block; min-width:0; }
  .connect-table thead { display:none; }
  .connect-table tbody { display:grid; gap:12px; }
  .connect-table tr { display:grid; gap:0; padding:13px 14px; border:1px solid var(--connect-line); border-radius:15px; background:#fff; box-shadow:0 5px 14px rgba(20,54,45,.04); }
  .connect-table td { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid #eff3f1; text-align:right; font-size:.78rem; }
  .connect-table td:first-child { font-size:.9rem; }
  .connect-table td:last-child { border-bottom:0; }
  .connect-table td:before { content:attr(data-label); color:#84918c; font-size:.7rem; text-align:left; }
}
