:root {
    --brand-navy: #132436;
    --brand-navy-2: #1f3043;
    --brand-green: #209e47;
    --brand-green-dark: #17833a;
    --brand-green-soft: #e9f7ee;
    --brand-green-pale: #f3fbf6;
    --brand-bg: #f5f8fa;
    --brand-surface: #ffffff;
    --brand-text: #132436;
    --brand-muted: #607083;
    --brand-line: #dfe7ee;
    --brand-line-strong: #ccd8e2;
    --brand-blue-soft: #eef6fb;
    --brand-shadow: 0 12px 34px rgba(19, 36, 54, .08);
    --brand-shadow-sm: 0 6px 18px rgba(19, 36, 54, .07);
    --brand-radius: 16px;
    --brand-radius-lg: 24px;

    --ink: var(--brand-text);
    --muted: var(--brand-muted);
    --line: var(--brand-line);
    --surface: var(--brand-surface);
    --bg: var(--brand-bg);
    --brand: var(--brand-green);
    --brand-dark: var(--brand-green-dark);
    --brand-soft: var(--brand-green-soft);
}

html { scroll-behavior: smooth; }
body {
    background: var(--brand-bg);
    color: var(--brand-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--brand-navy); }
a:hover { color: var(--brand-green-dark); }

.wrap { width: min(1240px, calc(100% - 36px)); }
.site-main { padding-top: 26px; }

/* Header */
.site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--brand-line);
    box-shadow: 0 2px 14px rgba(19,36,54,.035);
    backdrop-filter: blur(10px);
}
.site-nav { min-height: 78px; }
.brand { flex: 0 0 auto; }
.brand-logo {
    display: block;
    width: clamp(220px, 22vw, 300px);
    height: auto;
}
.nav-actions { gap: 16px; }
.nav-link { color: var(--brand-navy); font-weight: 720; }
.nav-link:hover { color: var(--brand-green); }
.button {
    background: var(--brand-green);
    border-radius: 10px;
    min-height: 42px;
    padding: 10px 17px;
    box-shadow: 0 5px 13px rgba(32,158,71,.14);
}
.button:hover { background: var(--brand-green-dark); color: #fff; }
.button.secondary {
    background: #fff;
    color: var(--brand-navy);
    border: 1px solid var(--brand-line-strong);
    box-shadow: none;
}
.button.secondary:hover { border-color: var(--brand-green); color: var(--brand-green-dark); background: var(--brand-green-pale); }
.button.light { background: var(--brand-green-soft); color: var(--brand-green-dark); box-shadow: none; }
.link-button { color: var(--brand-muted); }

/* Core surfaces */
.card {
    border: 1px solid var(--brand-line);
    border-radius: var(--brand-radius);
    box-shadow: 0 2px 8px rgba(19,36,54,.025);
}
.card:hover { border-color: #d5e0e8; }
input, select, textarea {
    border-color: var(--brand-line-strong);
    border-radius: 10px;
    min-height: 44px;
}
input:focus, select:focus, textarea:focus {
    outline: 3px solid rgba(32,158,71,.12);
    border-color: var(--brand-green);
}
textarea { min-height: 150px; }
.alert { background: var(--brand-green-soft); border-color: #b7e7c7; }
.errors { box-shadow: 0 6px 20px rgba(180,35,24,.05); }
.badge { border-radius: 999px; }
.badge.sell { background: var(--brand-green); color: #fff; }
.badge.featured { background: #fff7d9; color: #8b6500; }
.price { color: var(--brand-green-dark); }

/* Home */
.market-hero {
    position: relative;
    overflow: hidden;
    margin: 2px 0 24px;
    border: 1px solid #dce8ee;
    border-radius: 28px;
    background:
        radial-gradient(circle at 84% 16%, rgba(32,158,71,.17), transparent 27%),
        linear-gradient(118deg, #f7fbfd 0%, #ffffff 56%, #eef8f1 100%);
    box-shadow: var(--brand-shadow);
}
.market-hero::before,
.market-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    background: rgba(32,158,71,.06);
    pointer-events: none;
}
.market-hero::before { width: 360px; height: 360px; right: -180px; top: -180px; }
.market-hero::after { width: 220px; height: 220px; right: 18%; bottom: -150px; }
.hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .8fr);
    gap: 34px;
    padding: 42px 48px 86px;
    align-items: center;
    position: relative;
    z-index: 1;
}
.hero-kicker {
    text-transform: uppercase;
    letter-spacing: .11em;
    font-size: .78rem;
    font-weight: 850;
    color: #5b7190;
    margin-bottom: 10px;
}
.market-hero h1 {
    margin: 0;
    max-width: 720px;
    font-size: clamp(2.5rem, 5.5vw, 4.55rem);
    line-height: .98;
    letter-spacing: -.055em;
    color: var(--brand-navy);
}
.market-hero h1 .green { color: var(--brand-green); }
.hero-copy {
    max-width: 650px;
    margin: 18px 0 0;
    color: var(--brand-muted);
    font-size: 1.08rem;
    line-height: 1.62;
}
.hero-art {
    display: grid;
    place-items: center;
    min-height: 255px;
    position: relative;
}
.hero-art-card {
    width: min(100%, 360px);
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(19,36,54,.08);
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 18px 44px rgba(19,36,54,.12);
    transform: rotate(-2deg);
}
.hero-art-card img { width: 116px; height: 116px; object-fit: contain; display: block; margin-bottom: 16px; }
.hero-art-card strong { display:block; font-size:1.28rem; color:var(--brand-navy); }
.hero-art-card p { color:var(--brand-muted); margin:8px 0 0; line-height:1.5; }
.hero-search-shell {
    position: absolute;
    left: 48px;
    right: 48px;
    bottom: 24px;
    z-index: 3;
}
.hero-search-modern {
    display: grid;
    grid-template-columns: 1.45fr .9fr .9fr auto;
    gap: 8px;
    padding: 9px;
    background: #fff;
    border: 1px solid var(--brand-line);
    border-radius: 16px;
    box-shadow: 0 18px 35px rgba(19,36,54,.12);
}
.hero-search-modern input,
.hero-search-modern select { border: 0; background: #f9fbfc; min-height: 52px; }
.hero-search-modern input:focus,
.hero-search-modern select:focus { outline: 2px solid rgba(32,158,71,.12); }
.hero-search-modern .button { min-height: 52px; padding-inline: 26px; font-size: 1rem; }
.hero-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 20px 0 34px;
}
.hero-trust-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--brand-navy);
    font-weight: 750;
    font-size: .92rem;
}
.hero-trust-icon {
    width: 34px; height: 34px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--brand-green-soft); color: var(--brand-green-dark);
    font-weight: 900;
}

.section-title { margin-top: 36px; }
.section-title h2 { color:var(--brand-navy); font-size: 1.55rem; }
.section-title a { color:#2778bf; text-decoration:none; font-weight:700; }
.category-grid-modern {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 12px;
}
.category-tile-modern {
    min-height: 118px;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--brand-line);
    border-radius: 14px;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.category-tile-modern:hover {
    transform: translateY(-3px);
    border-color: #b8dbc4;
    box-shadow: var(--brand-shadow-sm);
}
.category-symbol-modern {
    width: 46px; height: 46px; border-radius: 13px;
    display: grid; place-items: center;
    background: var(--brand-green-soft);
    color: var(--brand-green-dark);
    font-size: 1.35rem;
    font-weight: 900;
}
.category-tile-modern strong { font-size: .95rem; }
.category-tile-modern small { color: var(--brand-muted); font-size: .76rem; }

.home-split {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(270px, .65fr);
    gap: 22px;
    align-items: start;
}
.compact-list { display:grid; gap:10px; }
.compact-listing {
    display:grid;
    grid-template-columns:96px 1fr auto;
    gap:12px;
    align-items:center;
    background:#fff;
    border:1px solid var(--brand-line);
    border-radius:13px;
    padding:8px;
    text-decoration:none;
}
.compact-listing:hover { border-color:#b8dbc4; box-shadow:var(--brand-shadow-sm); }
.compact-listing img, .compact-listing-placeholder { width:96px; height:66px; object-fit:cover; border-radius:9px; background:#eef3f5; display:grid; place-items:center; color:#8796a6; font-size:.72rem; }
.compact-listing h3 { margin:0 0 4px; font-size:.92rem; line-height:1.25; }
.compact-listing .price { font-size:1rem; }
.compact-listing-time { color:var(--brand-muted); font-size:.75rem; padding-right:8px; }
.location-panel { background:#fff; border:1px solid var(--brand-line); border-radius:16px; padding:18px; }
.location-panel h2 { margin:0 0 12px; font-size:1.2rem; }
.location-list { display:grid; gap:6px; }
.location-list a { display:flex; justify-content:space-between; gap:10px; text-decoration:none; padding:10px 8px; border-radius:9px; font-weight:700; }
.location-list a:hover { background:var(--brand-green-pale); }
.location-list span { color:var(--brand-muted); font-weight:600; font-size:.82rem; }
.home-cta {
    margin: 34px 0 4px;
    display:flex; align-items:center; justify-content:space-between; gap:22px;
    padding:22px 28px;
    border:1px solid #cfe9d7;
    border-radius:18px;
    background:linear-gradient(90deg,#effaf3,#fff 65%,#ecf8f0);
}
.home-cta-left { display:flex; align-items:center; gap:16px; }
.home-cta-left img { width:58px; height:58px; object-fit:contain; }
.home-cta h3 { margin:0 0 3px; font-size:1.25rem; }
.home-cta p { margin:0; color:var(--brand-muted); }

/* Listing cards */
.grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.grid-4 { gap: 14px; }
.listing-card {
    border-radius: 14px;
    box-shadow: none;
    background:#fff;
    position:relative;
}
.listing-card:hover { box-shadow: var(--brand-shadow-sm); transform: translateY(-2px); border-color:#cadce7; }
.listing-image-wrap { position:relative; overflow:hidden; background:#eef3f5; }
.listing-card .thumb, .listing-card .thumb-placeholder { aspect-ratio: 16 / 10; }
.listing-card .thumb { transition:transform .22s ease; }
.listing-card:hover .thumb { transform:scale(1.02); }
.listing-badge-overlay { position:absolute; left:10px; top:10px; z-index:2; }
.listing-card-body { padding: 13px 14px 14px; }
.listing-card h3 { margin:0 0 6px; font-size:.98rem; min-height:2.55em; }
.listing-card .price { font-size:1.18rem; }
.listing-card-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:7px; color:var(--brand-muted); font-size:.78rem; }
.listing-card-meta a { color:inherit; text-decoration:none; }
.listing-card-category { display:inline-flex; margin-bottom:7px; color:var(--brand-green-dark); font-weight:750; font-size:.76rem; }

/* Search / listings page */
.search-banner {
    margin-bottom: 24px;
    padding: 24px 28px;
    border: 1px solid #dbe7ed;
    border-radius: 20px;
    background: linear-gradient(120deg,#f7fbfd,#eef8f1);
}
.search-banner-row { display:grid; grid-template-columns:1.25fr .8fr .8fr auto; gap:8px; }
.search-banner input,.search-banner select { background:#fff; }
.search-banner .button { min-width:160px; }
.results-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:24px; align-items:start; }
.filters-sidebar { position:sticky; top:100px; padding:18px; }
.filters-sidebar h2 { margin:0 0 6px; font-size:1.18rem; }
.filters-sidebar .field-block { margin-top:15px; }
.filters-sidebar label { font-size:.82rem; margin-bottom:5px; }
.filters-sidebar input,.filters-sidebar select { min-height:42px; padding:9px 10px; font-size:.9rem; }
.filters-sidebar .location-filter-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.filters-sidebar .filter-actions { margin-top:16px; display:grid; grid-template-columns:1fr; gap:8px; }
.results-main { min-width:0; }
.results-toolbar { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:14px; }
.results-toolbar h1 { margin:0; font-size:2rem; }
.results-toolbar .sort-inline { display:flex; gap:8px; align-items:center; }
.results-toolbar .sort-inline label { margin:0; white-space:nowrap; color:var(--brand-muted); font-size:.84rem; }
.results-toolbar .sort-inline select { min-width:170px; min-height:40px; }
.active-filters { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 15px; }
.active-filter { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:7px 10px; background:#edf5fb; color:#34536f; font-size:.78rem; font-weight:700; }
.saved-search-box { margin-bottom:16px; }
.pager { margin-top:26px; }

/* Listing detail */
.breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:0 0 18px; color:#65768b; font-size:.84rem; }
.breadcrumbs a { color:inherit; text-decoration:none; }
.breadcrumbs .sep { color:#9aa8b6; }
.detail-grid-modern { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(330px,.8fr); gap:24px; align-items:start; }
.detail-main-modern { min-width:0; }
.listing-top-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.75fr); gap:22px; align-items:start; }
.listing-gallery-main {
    position:relative;
    overflow:hidden;
    border-radius:18px;
    border:1px solid var(--brand-line);
    background:#eef3f5;
    aspect-ratio: 4 / 3;
}
.listing-gallery-main img { width:100%; height:100%; object-fit:cover; display:block; }
.gallery-empty { width:100%; height:100%; display:grid; place-items:center; color:#8494a5; font-weight:750; }
.gallery-count { position:absolute; right:12px; bottom:12px; background:rgba(19,36,54,.84); color:#fff; padding:6px 9px; border-radius:999px; font-size:.76rem; font-weight:750; }
.listing-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:8px; }
.listing-thumbs a { display:block; border-radius:10px; overflow:hidden; border:2px solid transparent; aspect-ratio:4/3; }
.listing-thumbs a:first-child { border-color:var(--brand-green); }
.listing-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.listing-summary { padding:4px 0 0; }
.listing-summary h1 { margin:0 0 8px; font-size:clamp(2rem,4vw,3rem); line-height:1.03; }
.listing-summary .price { font-size:2rem; margin:12px 0; }
.listing-summary-meta { display:grid; gap:10px; margin:14px 0 18px; color:#506276; }
.listing-summary-meta span,.listing-summary-meta a { display:flex; align-items:center; gap:8px; text-decoration:none; }
.listing-flags { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.info-pill { display:inline-flex; align-items:center; gap:7px; padding:9px 11px; border-radius:10px; background:#f7fafc; border:1px solid var(--brand-line); font-size:.82rem; font-weight:700; }
.info-pill.good { background:var(--brand-green-soft); border-color:#cce8d5; color:var(--brand-green-dark); }
.detail-section { margin-top:20px; padding:22px; background:#fff; border:1px solid var(--brand-line); border-radius:16px; }
.detail-section h2 { margin:0 0 14px; font-size:1.25rem; }
.detail-side-modern { position:sticky; top:100px; display:grid; gap:14px; }
.detail-side-modern .card { padding:20px; }
.detail-side-modern h2 { margin:0 0 14px; font-size:1.22rem; }
.seller-avatar { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#eef3f7; color:var(--brand-navy); font-size:1.45rem; font-weight:850; }
.seller-row { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.seller-row strong { display:block; }
.safety-card { background:linear-gradient(135deg,#effaf3,#f8fffa); border-color:#cfead8; }
.safety-list { display:grid; gap:8px; color:#4f6470; font-size:.9rem; }
.safety-list span::before { content:'✓'; color:var(--brand-green); font-weight:900; margin-right:8px; }

/* Footer */
.site-footer { margin-top:30px; padding:32px 0; background:#fff; }
.footer-grid { display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:28px; align-items:center; }
.footer-logo { width:220px; max-width:100%; display:block; }
.footer-brand p { margin:7px 0 0; }
.footer-links { display:flex; justify-content:center; gap:14px 18px; flex-wrap:wrap; }
.footer-links a { text-decoration:none; font-weight:650; color:#5c6e80; }
.footer-meta { display:grid; gap:4px; text-align:right; }

/* Generic page polish */
.auth-card, .legal-page, .admin-card { box-shadow: var(--brand-shadow-sm); }
.admin-nav a.active { background:var(--brand-green-soft); color:var(--brand-green-dark); }
.nav-badge,.message-count { background:var(--brand-green); }
.conversation-row.unread { border-left-color:var(--brand-green); }
.message-line.mine .message-bubble { background:var(--brand-green-soft); }

@media (max-width: 1100px) {
    .category-grid-modern { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .hero-inner { grid-template-columns:1fr .65fr; padding-inline:34px; }
    .hero-search-shell { left:34px; right:34px; }
    .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .listing-top-grid { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
    .site-nav { align-items:center; padding:10px 0; flex-wrap:wrap; }
    .brand-logo { width:230px; }
    .nav-actions { width:100%; justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:3px; }
    .nav-actions > * { flex:0 0 auto; }
    .market-hero { border-radius:20px; }
    .hero-inner { grid-template-columns:1fr; padding:34px 28px 150px; }
    .hero-art { display:none; }
    .hero-search-shell { left:22px; right:22px; bottom:22px; }
    .hero-search-modern { grid-template-columns:1fr 1fr; }
    .hero-search-modern .search-main { grid-column:1/-1; }
    .hero-search-modern .button { grid-column:1/-1; }
    .hero-trust { grid-template-columns:1fr; gap:8px; }
    .hero-trust-item { justify-content:flex-start; background:#fff; border:1px solid var(--brand-line); border-radius:12px; padding:10px 12px; }
    .home-split { grid-template-columns:1fr; }
    .results-layout { grid-template-columns:1fr; }
    .filters-sidebar { position:static; }
    .search-banner-row { grid-template-columns:1fr 1fr; }
    .search-banner-row .search-main { grid-column:1/-1; }
    .search-banner-row .button { grid-column:1/-1; }
    .detail-grid-modern { grid-template-columns:1fr; }
    .detail-side-modern { position:static; }
    .footer-grid { grid-template-columns:1fr; text-align:center; }
    .footer-logo { margin:0 auto; }
    .footer-meta { text-align:center; }
}

@media (max-width: 680px) {
    .wrap { width:min(100% - 22px,1240px); }
    .site-main { padding-top:16px; }
    .brand-logo { width:210px; }
    .market-hero { margin-inline:-2px; }
    .hero-inner { padding:28px 20px 190px; }
    .market-hero h1 { font-size:2.55rem; }
    .hero-copy { font-size:.96rem; }
    .hero-search-shell { left:12px; right:12px; bottom:12px; }
    .hero-search-modern { grid-template-columns:1fr; }
    .hero-search-modern .search-main,.hero-search-modern .button { grid-column:auto; }
    .category-grid-modern { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid { grid-template-columns:1fr; }
    .grid-4 { grid-template-columns:1fr; }
    .compact-listing { grid-template-columns:78px 1fr; }
    .compact-listing img,.compact-listing-placeholder { width:78px; height:58px; }
    .compact-listing-time { display:none; }
    .home-cta { align-items:flex-start; flex-direction:column; padding:18px; }
    .search-banner { padding:16px; }
    .search-banner-row { grid-template-columns:1fr; }
    .search-banner-row .search-main,.search-banner-row .button { grid-column:auto; }
    .results-toolbar { align-items:flex-start; flex-direction:column; }
    .results-toolbar .sort-inline { width:100%; }
    .results-toolbar .sort-inline select { flex:1; min-width:0; }
    .listing-thumbs { grid-template-columns:repeat(4,1fr); }
    .listing-summary h1 { font-size:2rem; }
    .footer-links { flex-direction:column; gap:8px; }
}

/* Refinements 2026-09-14 */
.breadcrumbs {
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 0 !important;
}
.breadcrumbs > * { flex: 0 0 auto; }

/* Cleaner account navigation */
.account-menu { position: relative; }
.account-menu > summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    color: var(--brand-navy);
    font-weight: 720;
    font-size: .94rem;
    user-select: none;
}
.account-menu > summary::-webkit-details-marker { display:none; }
.account-menu > summary::after { content:'⌄'; color:#728197; font-size:.8rem; }
.account-dot {
    width: 29px; height: 29px; border-radius: 50%;
    display:grid; place-items:center;
    background:var(--brand-green-soft); color:var(--brand-green-dark);
    font-size:.78rem; font-weight:850;
}
.account-menu-panel {
    position:absolute; right:0; top:calc(100% + 12px); z-index:80;
    width:220px; padding:8px;
    background:#fff; border:1px solid var(--brand-line); border-radius:13px;
    box-shadow:0 18px 46px rgba(19,36,54,.16);
}
.account-menu-panel a,
.account-menu-panel button {
    width:100%; display:block; padding:10px 11px; border:0; border-radius:8px;
    background:transparent; color:var(--brand-navy); text-align:left; text-decoration:none;
    font:inherit; font-size:.9rem; font-weight:650; cursor:pointer;
}
.account-menu-panel a:hover,
.account-menu-panel button:hover { background:var(--brand-green-pale); color:var(--brand-green-dark); }

/* Hero visual polish */
.hero-art-stage { width:min(100%,390px); min-height:300px; position:relative; display:grid; place-items:center; }
.hero-art-stage .hero-art-card { width:300px; transform:rotate(-1.2deg); position:relative; z-index:2; }
.hero-mini-card {
    position:absolute; z-index:3; display:flex; align-items:center; gap:9px;
    min-width:185px; padding:10px 12px; border:1px solid rgba(19,36,54,.08);
    border-radius:13px; background:rgba(255,255,255,.97); box-shadow:0 12px 28px rgba(19,36,54,.11);
}
.hero-mini-card > span { width:31px; height:31px; border-radius:50%; display:grid; place-items:center; background:var(--brand-green-soft); color:var(--brand-green-dark); font-weight:900; }
.hero-mini-card strong { display:block; font-size:.82rem; line-height:1.15; }
.hero-mini-card small { display:block; color:var(--brand-muted); margin-top:2px; font-size:.69rem; }
.hero-mini-one { left:-8px; bottom:20px; transform:rotate(2deg); }
.hero-mini-two { right:-14px; top:12px; transform:rotate(2deg); }

/* Category icons are now consistent SVGs */
.category-symbol-modern svg { width:25px; height:25px; }
.category-tile-modern:hover .category-symbol-modern { background:#dbf3e3; transform:scale(1.04); }
.category-symbol-modern { transition:transform .15s ease, background .15s ease; }

/* Branded image placeholders */
.branded-placeholder { gap:7px; flex-direction:column; }
.branded-placeholder img { width:48px; height:48px; object-fit:contain; opacity:.46; filter:saturate(.7); }
.branded-placeholder span { font-size:.72rem; }
.compact-listing-placeholder { flex-direction:column; gap:2px; }
.compact-listing-placeholder img { width:26px!important; height:26px!important; object-fit:contain; border-radius:0!important; opacity:.48; }
.compact-listing-placeholder small { font-size:.58rem; }
.branded-gallery-empty { display:flex; flex-direction:column; gap:8px; text-align:center; padding:28px; }
.branded-gallery-empty img { width:92px; height:92px; object-fit:contain; opacity:.42; margin-bottom:3px; }
.branded-gallery-empty strong { color:#5c6d7e; }
.branded-gallery-empty span { max-width:250px; color:#8a98a7; font-size:.82rem; font-weight:500; }

.listing-badge-overlay {
    display:inline-flex; align-items:center;
    background:rgba(32,158,71,.94); color:#fff!important;
    text-decoration:none; font-size:.72rem; font-weight:800;
    padding:5px 9px; border-radius:999px;
    box-shadow:0 4px 12px rgba(19,36,54,.12);
}

.location-list span { white-space:nowrap; }

@media (max-width: 1080px) {
    .account-menu > summary span:not(.account-dot) { display:none; }
    .account-menu > summary::after { display:none; }
}
@media (max-width: 900px) {
    .account-menu-panel { left:0; right:auto; }
    .hero-art-stage { display:none; }
}

/* Dynamic category attributes */
.category-attributes-shell {
    border: 1px solid var(--brand-line);
    background: #f8fbf9;
    border-radius: 15px;
    padding: 18px;
    margin: 4px 0 8px;
}
.category-attributes-heading { margin-bottom: 14px; }
.category-attributes-heading strong { color: var(--brand-navy); font-size: 1rem; }
.category-attributes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.category-attribute-field label { display:block; margin-bottom:6px; }
.attribute-input-with-unit { display:flex; align-items:stretch; }
.attribute-input-with-unit input,
.attribute-input-with-unit select { border-radius:10px 0 0 10px; }
.attribute-input-with-unit > span {
    display:flex; align-items:center; justify-content:center;
    padding:0 12px; min-width:48px;
    border:1px solid var(--brand-line); border-left:0;
    border-radius:0 10px 10px 0;
    background:#fff; color:var(--brand-muted); font-size:.82rem; font-weight:750;
}
.category-filter-box {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--brand-line);
}
.category-filter-title {
    margin-bottom: 10px;
    color: var(--brand-navy);
    font-size: .84rem;
    font-weight: 800;
}
.attribute-range { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.listing-attributes-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:var(--brand-line);
    border:1px solid var(--brand-line);
    border-radius:13px;
    overflow:hidden;
}
.listing-attribute-item {
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    min-height:54px; padding:11px 14px;
    background:#fff;
}
.listing-attribute-item span { color:var(--brand-muted); font-size:.84rem; }
.listing-attribute-item strong { color:var(--brand-navy); text-align:right; font-size:.9rem; }

@media (max-width: 720px) {
    .category-attributes-grid,
    .listing-attributes-grid { grid-template-columns:1fr; }
}


/* Categorie e sottocategorie */
.subcategory-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}.subcategory-links a{display:flex;align-items:center;gap:10px;padding:14px 15px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--brand-navy);text-decoration:none;transition:.15s ease}.subcategory-links a:hover{border-color:rgba(32,158,71,.45);box-shadow:0 8px 25px rgba(19,36,54,.07);transform:translateY(-1px)}.subcategory-links a>span{width:38px;height:38px;border-radius:11px;background:var(--brand-green-pale);color:var(--brand-green);display:grid;place-items:center;flex:0 0 auto}.subcategory-links a strong{font-size:.95rem}.subcategory-links a small{margin-left:auto;color:var(--muted);white-space:nowrap}@media(max-width:900px){.subcategory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.subcategory-links{grid-template-columns:1fr}.subcategory-links a small{display:none}}

/* Upload immagini evoluto */
.media-uploader { margin-top:4px; }
.media-uploader-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.media-uploader-head label { margin-bottom:4px; }
.media-counter { flex:0 0 auto; min-width:62px; padding:7px 10px; text-align:center; border:1px solid var(--brand-line); border-radius:999px; background:#fff; color:var(--brand-muted); font-size:.82rem; font-weight:700; }
.media-counter strong { color:var(--brand-navy); font-size:.95rem; }
.media-file-input { position:absolute!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.media-dropzone { width:100%; min-height:138px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:22px; border:2px dashed #bfd3c6; border-radius:16px; background:#f8fcf9; color:var(--brand-navy); cursor:pointer; font:inherit; transition:.15s ease; }
.media-dropzone:hover,.media-dropzone.is-dragover { border-color:var(--brand-green); background:var(--brand-green-pale); transform:translateY(-1px); }
.media-dropzone-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--brand-green); color:#fff; font-size:1.45rem; font-weight:500; line-height:1; }
.media-dropzone strong { font-size:.96rem; }
.media-dropzone > span:not(.media-dropzone-icon),.media-dropzone small { color:var(--brand-muted); font-size:.8rem; }
.media-feedback { min-height:22px; padding-top:7px; color:var(--brand-green-dark); font-size:.8rem; font-weight:650; }
.media-feedback.is-error { color:#b42318; }
.media-preview-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-top:8px; }
.media-preview-item { overflow:hidden; border:1px solid var(--brand-line); border-radius:13px; background:#fff; box-shadow:0 1px 2px rgba(19,36,54,.03); cursor:grab; transition:.12s ease; }
.media-preview-item:hover { border-color:#bdd8c6; box-shadow:0 7px 20px rgba(19,36,54,.07); }
.media-preview-item.is-primary { border-color:rgba(32,158,71,.6); box-shadow:0 0 0 2px rgba(32,158,71,.09); }
.media-preview-item.is-dragging { opacity:.45; transform:scale(.98); }
.media-preview-image { position:relative; aspect-ratio:4/3; overflow:hidden; background:#eef3f0; }
.media-preview-image img { width:100%; height:100%; object-fit:cover; display:block; }
.media-primary-badge,.media-new-badge { position:absolute; top:7px; left:7px; display:inline-flex; align-items:center; min-height:23px; padding:3px 7px; border-radius:999px; background:rgba(32,158,71,.95); color:#fff; font-size:.66rem; font-weight:850; box-shadow:0 3px 9px rgba(0,0,0,.1); }
.media-new-badge { left:auto; right:7px; background:rgba(19,36,54,.88); }
.media-preview-actions { display:flex; align-items:center; justify-content:space-between; gap:5px; padding:7px 8px; }
.media-drag-handle { color:var(--brand-muted); font-size:.68rem; font-weight:700; white-space:nowrap; }
.media-mini-button,.media-remove-button { min-width:27px; height:27px; padding:0 6px; border:1px solid var(--brand-line); border-radius:7px; background:#fff; color:var(--brand-navy); font:inherit; font-size:.68rem; font-weight:750; cursor:pointer; }
.media-mini-button:disabled { opacity:.3; cursor:default; }
.media-remove-button { color:#b42318; border-color:#f2c9c6; margin-left:2px; }
.media-remove-button:hover { background:#fff1f0; }
.listing-thumb-button { padding:0; border:2px solid transparent; border-radius:10px; overflow:hidden; background:transparent; cursor:pointer; opacity:.76; transition:.12s ease; }
.listing-thumb-button:hover,.listing-thumb-button.is-active { border-color:var(--brand-green); opacity:1; }
.listing-thumb-button img { width:100%; height:100%; object-fit:cover; display:block; }

@media(max-width:1050px){.media-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.media-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-drag-handle{display:none}.media-uploader-head{align-items:center}.media-preview-actions{justify-content:flex-end}}

/* Hotfix: mostra il badge Principale solo sulla prima foto */
.media-primary-badge[hidden] { display: none !important; }


/* Professional storefront */
.notice-card { padding:16px 18px; border:1px solid #bfe6cb; background:#f2fbf5; border-radius:14px; margin-bottom:18px; }
.professional-edit-card h2 { margin-top:28px; }
.professional-options { display:flex; gap:18px; flex-wrap:wrap; }
.check-row { display:flex; gap:9px; align-items:flex-start; font-weight:600; }
.check-row input { width:auto; margin-top:3px; }
.professional-media-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.professional-preview-logo { width:110px; height:110px; object-fit:contain; border:1px solid var(--brand-line); border-radius:14px; display:block; margin:8px 0; background:#fff; }
.professional-preview-cover { width:100%; max-width:460px; height:150px; object-fit:cover; border:1px solid var(--brand-line); border-radius:14px; display:block; margin:8px 0; }
.professional-status-box { margin:24px 0; padding:16px; border:1px solid var(--brand-line); border-radius:14px; background:#f9fbfc; display:grid; gap:10px; }
.business-store-hero { position:relative; border:1px solid var(--brand-line); border-radius:22px; overflow:hidden; background:#fff; box-shadow:var(--brand-shadow-sm); margin-bottom:24px; }
.business-cover,.business-cover-placeholder { width:100%; height:245px; display:block; object-fit:cover; }
.business-cover-placeholder { background:linear-gradient(125deg,#eaf7ee,#f7fafb 55%,#dff2e5); }
.business-store-info { display:flex; gap:18px; align-items:flex-end; padding:0 28px 24px; margin-top:-58px; position:relative; }
.business-logo { width:118px; height:118px; flex:0 0 118px; border-radius:20px; border:5px solid #fff; background:#fff; box-shadow:0 8px 24px rgba(19,36,54,.13); display:grid; place-items:center; overflow:hidden; color:var(--brand-navy); font-size:2.2rem; font-weight:900; }
.business-logo img { width:100%; height:100%; object-fit:contain; }
.business-store-copy { background:rgba(255,255,255,.95); padding:14px 18px; border-radius:15px; }
.business-title-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.business-title-row h1 { margin:0; color:var(--brand-navy); }
.verified-business-badge,.verified-business-inline { display:inline-flex; align-items:center; gap:4px; border-radius:999px; background:#eaf8ef; color:#147b34; border:1px solid #bde4c8; font-size:.78rem; font-weight:800; padding:5px 9px; }
.verified-business-inline { margin-top:5px; width:max-content; }
.business-store-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.75fr); gap:22px; align-items:start; }
.business-store-side { position:sticky; top:92px; display:grid; gap:16px; }
.business-description { line-height:1.7; color:#475467; }
@media (max-width:820px) { .professional-media-grid,.business-store-grid { grid-template-columns:1fr; } .business-store-side { position:static; } .business-store-info { align-items:flex-start; margin-top:-42px; padding:0 16px 18px; } .business-logo { width:92px;height:92px;flex-basis:92px; } .business-cover,.business-cover-placeholder { height:190px; } }


/* Form controls: checkbox e radio non devono ereditare le dimensioni dei campi testo */
input[type="checkbox"],
input[type="radio"] {
    appearance: auto;
    -webkit-appearance: auto;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    margin: 2px 0 0 !important;
    flex: 0 0 18px;
    box-shadow: none;
    accent-color: var(--brand-green);
}
input[type="checkbox"] { border-radius: 4px; }
input[type="radio"] { border-radius: 50%; }

.check-row {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    font-weight: 600;
    line-height: 1.45;
}
.check-row input[type="checkbox"],
.check-row input[type="radio"] {
    margin-top: 2px !important;
}

/* Piano professionale / PRO */
.pro-badge {
    display:inline-flex; align-items:center; justify-content:center; gap:4px;
    padding:4px 8px; border-radius:999px; background:#132436; color:#fff;
    font-size:.72rem; font-weight:900; letter-spacing:.06em; vertical-align:middle;
}
.pro-badge.mini { padding:2px 6px; font-size:.62rem; }
.pro-badge.large { padding:8px 13px; font-size:.9rem; }
.plan-status-card {
    display:flex; align-items:center; justify-content:space-between; gap:18px;
    padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; margin-bottom:18px;
}
.plan-status-card.is-pro { border-color:#86d5a0; background:linear-gradient(135deg,#f3fff7,#fff); }
.plan-kicker { text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-size:.72rem; font-weight:800; }
.plan-status-card h2 { margin:4px 0 6px; }
.plan-status-card p { margin:0; color:var(--muted); }
.plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.plan-card { position:relative; }
.plan-card-pro { border-color:#98dbaa; box-shadow:0 10px 30px rgba(32,158,71,.08); }
.plan-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.plan-title { font-weight:900; font-size:1.12rem; }
.plan-price { font-size:1.55rem; font-weight:900; color:var(--brand-green); margin:10px 0 14px; }
.plan-features { padding-left:20px; color:#44566b; line-height:1.65; }
.plan-features li { margin:5px 0; }
.quota-row, .account-plan-strip { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.quota-row > div, .account-plan-strip > div { display:flex; flex-direction:column; gap:3px; }
.account-plan-strip {
    justify-content:space-between; padding:13px 16px; margin-bottom:18px;
    background:#fff; border:1px solid var(--line); border-radius:14px;
}
.account-plan-strip a { font-weight:800; text-decoration:none; }
@media (max-width:760px) {
    .plan-grid { grid-template-columns:1fr; }
    .plan-status-card { align-items:flex-start; }
}


/* Recensioni e reputazione venditore */
.review-stars {
    color: #e4a600;
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
}
.review-stars.compact {
    font-size: .95rem;
    letter-spacing: 0;
}
.seller-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 12px 0 14px;
    padding-top: 12px;
    border-top: 1px solid var(--brand-border);
}
.rating-summary-large {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 6px 0 14px;
}
.rating-summary-large span {
    color: #e4a600;
    font-size: 1.45rem;
    font-weight: 900;
}
.rating-summary-large small {
    color: var(--brand-muted);
}
.reviews-list {
    display: grid;
    gap: 12px;
}
.review-item {
    padding: 14px 0;
    border-top: 1px solid var(--brand-border);
}
.review-item:first-child {
    border-top: 0;
    padding-top: 0;
}
.review-item-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}
.review-item-head > div {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.review-item p {
    margin: 8px 0 0;
    color: #44566b;
    line-height: 1.55;
}
.review-item.is-compact {
    padding: 10px 0;
}
.review-item.is-compact p {
    font-size: .9rem;
}
.review-compose-card select {
    width: 100%;
}
.review-admin-comment {
    padding: 14px 16px;
    border-radius: 12px;
    background: #f6f8fa;
    white-space: pre-line;
    line-height: 1.55;
}
.compact-section-title {
    margin-bottom: 12px;
}
