/*
 * Start page (sites/index.php). Marketplace pattern: a photo stage with the search card on its lower edge,
 * browse rows (weapon types with counts, producers), the newest listings as result tiles (results.css),
 * then the selling band. Tokens from account.css; brand orange only for the main actions.
 */
.land { display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; margin-bottom: 8px; }

/* ---------- stage + search ---------- */
.land-stage { position: relative; }
.land-photo { position: relative; height: 300px; overflow: hidden; border-radius: 16px; background: #3A4049 center 35% / cover no-repeat; }
.land-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 22, 25, 0.62) 0%, rgba(20, 22, 25, 0.15) 55%, rgba(20, 22, 25, 0) 100%); }
.land-claim {
    position: absolute; top: 74px; left: 40px; margin: 0;
    color: #FFFFFF; font-family: "Roboto Medium", Roboto, sans-serif; font-size: 38px; line-height: 1.12; letter-spacing: -0.01em;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
}
.land-search {
    position: relative; margin: -86px 24px 0; padding: 18px 24px 22px;
    border-radius: 14px; background: var(--acc-surface); box-shadow: 0 10px 30px rgba(30, 34, 39, 0.12);
}
.land-tabs { display: flex; gap: 22px; margin-bottom: 14px; border-bottom: 1px solid var(--acc-line); }
.land-tabs button {
    margin-bottom: -1px; padding: 4px 0 10px; border: 0; border-bottom: 2px solid transparent; background: none;
    color: var(--acc-muted); font-size: 15px; cursor: pointer;
}
.land-tabs button:hover { color: var(--acc-ink); }
.land-tabs button[aria-selected="true"] { border-bottom-color: var(--acc-ink); color: var(--acc-ink); font-family: "Roboto Medium", Roboto, sans-serif; }
.land-tabs button:focus-visible { outline: 2px solid var(--primary-btn); outline-offset: 2px; }
.land-form[hidden] { display: none; }
.land-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 220px; gap: 10px; }
.land-row-short { grid-template-columns: repeat(2, minmax(0, 1fr)) 220px; }
.land-row select {
    width: 100%; height: 48px; padding: 0 34px 0 14px;
    border: 1px solid var(--acc-line-strong); border-radius: 8px;
    background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23626973' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center / 14px;
    color: var(--acc-ink); font-size: 15px; -webkit-appearance: none; appearance: none;
}
.land-row select:focus { border-color: var(--acc-ink); outline: none; box-shadow: 0 0 0 3px rgba(30, 34, 39, 0.08); }
.land-go { height: 48px; border-radius: 8px; font-family: "Roboto Medium", Roboto, sans-serif; font-size: 16px; }
.land-more { display: block; width: 220px; margin: 10px 0 0 auto; color: var(--acc-ink); font-size: 14px; text-align: center; }
.land-more:hover { color: var(--acc-ink); }

/* ---------- browse rows ---------- */
.land-h { margin: 0 0 14px; color: var(--acc-ink); font-family: "Roboto Medium", Roboto, sans-serif; font-size: 22px; }
.land-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.land-head a { color: var(--acc-ink); font-size: 14px; }
.land-scroll { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.land-scroll::-webkit-scrollbar { display: none; }
.land-type {
    position: relative; display: flex; flex: 1 0 auto; flex-direction: column; justify-content: space-between; gap: 4px;
    padding: 14px 16px;
    border: 1px solid var(--acc-line); border-radius: 12px; background: var(--acc-surface);
    color: var(--acc-ink); text-decoration: none !important;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}
.land-type:hover { border-color: #AEB5BE; box-shadow: 0 4px 14px rgba(30, 34, 39, 0.08); color: var(--acc-ink); }
.land-type-name { font-family: "Roboto Medium", Roboto, sans-serif; font-size: 15px; line-height: 1.25; white-space: nowrap; }   /* tiles size to their name, never break a word */
.land-type-count { color: var(--acc-muted); font-size: 13px; white-space: nowrap; }
.land-type-count::after { content: " \2192"; }
.land-type:hover .land-type-count { color: var(--acc-ink); }
.land-brand {
    flex: none; padding: 10px 18px; border: 1px solid var(--acc-line); border-radius: 999px; background: var(--acc-surface);
    color: var(--acc-ink); font-size: 14px; white-space: nowrap; text-decoration: none !important;
}
.land-brand:hover { border-color: #AEB5BE; color: var(--acc-ink); }
@media (min-width: 992px) { .land-scroll:has(.land-brand) { flex-wrap: wrap; } }   /* desktop: all producers visible; phones scroll */
.land-type:focus-visible, .land-brand:focus-visible { outline: 2px solid var(--primary-btn); outline-offset: 2px; }

/* ---------- newest listings: tiles from results.css, four per row ---------- */
.land .results-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- selling band ---------- */
.land-sell {
    display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: stretch;
    padding: 26px; border-radius: 16px; background: #E9ECEF;
}
.land-sell-single { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); }
.land-sell-intro h2 { margin: 0 0 8px; color: var(--acc-ink); font-family: "Roboto Medium", Roboto, sans-serif; font-size: 26px; line-height: 1.15; }
.land-sell-intro p { margin: 0; color: var(--acc-muted); font-size: 15px; }
.land-offer { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; border-radius: 12px; background: var(--acc-surface); }
.land-offer h3 { margin: 0; color: var(--acc-ink); font-family: "Roboto Medium", Roboto, sans-serif; font-size: 16px; }
.land-offer ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; color: #3A4049; font-size: 14px; }
.land-offer li::before { content: "\2713"; display: inline-block; width: 20px; color: var(--acc-accent-ink); font-weight: bold; }
.land-offer .btn { align-self: stretch; margin-top: auto; border-radius: 8px; font-size: 15px; }

/* ---------- blog + partners ---------- */
.land-bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.land-bottom > :only-child { grid-column: 1 / -1; }
.land-card { padding: 20px 22px; border: 1px solid var(--acc-line); border-radius: 14px; background: var(--acc-surface); }
.land-kicker { margin: 0 0 4px; color: var(--acc-muted); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.land-card h3 { margin: 0 0 6px; color: var(--acc-ink); font-family: "Roboto Medium", Roboto, sans-serif; font-size: 17px; }
.land-card-text { margin: 0 0 10px; color: #3A4049; font-size: 14px; line-height: 1.5; }
.land-card-text p { margin: 0; }
.land-card a { color: var(--acc-ink); font-size: 14px; }
.land-partners { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.land-partners img { max-width: 150px; max-height: 70px; object-fit: contain; }

/* ---------- tablet / phone ---------- */
@media (max-width: 991.98px) {
    .land-row, .land-row-short { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .land-go { grid-column: 1 / -1; }
    .land-more { width: auto; margin: 10px auto 0; }
    .land-type { flex: 0 0 150px; }
    .land-sell, .land-sell-single { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .land-sell-intro { grid-column: 1 / -1; }
    .land-sell-single .land-offer { grid-column: 1 / -1; }
    .land .results-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}
@media (max-width: 767.98px) {
    .land-bottom { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .land { gap: 26px; }
    .land-photo { height: 170px; border-radius: 12px; }
    .land-claim { top: 28px; left: 18px; font-size: 25px; }
    .land-search { margin: -36px 0 0; padding: 14px 16px 16px; }
    .land-row, .land-row-short { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .land-h { font-size: 19px; }
    .land-sell, .land-sell-single { grid-template-columns: minmax(0, 1fr); padding: 18px; }
    .land-sell-intro h2 { font-size: 21px; }
    .land .results-grid { grid-template-columns: minmax(0, 1fr); }
    .land-partners img { max-height: 54px; }
}
@media (prefers-reduced-motion: reduce) {
    .land-type, .land-brand { transition: none; }
}
