/*
 * SRSHerbal UI Polish v2.8.0
 * Human-maintainable visual layer. This file intentionally contains only
 * presentation overrides so marketplace business logic stays isolated.
 */
:root {
    --v280-ink: #12354a;
    --v280-ink-deep: #0b2a3e;
    --v280-orange: #ff6b2c;
    --v280-orange-dark: #e9561c;
    --v280-green: #13745f;
    --v280-gold: #c88731;
    --v280-line: #dce7ec;
    --v280-soft: #f7fafb;
    --v280-shadow: 0 18px 46px rgba(20, 55, 72, .11);
    --v280-shadow-soft: 0 8px 24px rgba(20, 55, 72, .08);
}

/* Global sharpness and typography */
.locked-v250,
.admin-theme.locked-v250 {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.locked-v250 img,
.admin-theme.locked-v250 img {
    image-rendering: auto;
}

.locked-v250 .site-header,
.admin-theme .admin-topbar {
    backdrop-filter: saturate(125%) blur(10px);
    box-shadow: 0 6px 22px rgba(17, 58, 76, .06);
}

/* ---------------- Public marketplace ---------------- */
.v280-home .v250-hero {
    min-height: 458px;
    border-bottom: 1px solid #d9e5e9;
    background:
        radial-gradient(circle at 86% 10%, rgba(255, 212, 154, .27), transparent 22%),
        radial-gradient(circle at 73% 72%, rgba(115, 166, 111, .19), transparent 32%),
        linear-gradient(103deg, #fff 0%, #fffdfa 46%, #eff7f2 100%);
}

.v280-home .v250-hero-copy {
    padding: 44px 3vw 42px 4.2vw;
}

.v280-home .v250-eyebrow {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef8f4;
    border: 1px solid #dcece5;
    color: #0f7059;
    letter-spacing: .15em;
}

.v280-home .v250-hero h1 {
    max-width: 700px;
    font-size: clamp(52px, 5.25vw, 82px);
    line-height: .91;
    margin-top: 18px;
    text-shadow: 0 1px 0 rgba(255,255,255,.8);
}

.v280-home .v250-hero h1 strong {
    color: #9b5527;
}

.v280-home .v250-hero h2 {
    font-size: clamp(20px, 1.55vw, 26px);
    letter-spacing: -.02em;
}

.v280-home .v250-hero p {
    max-width: 720px;
    font-size: 15px;
    line-height: 1.65;
}

.v280-home .v250-hero-search {
    height: 56px;
    border-radius: 10px;
    border-color: #cbdce3;
    box-shadow: 0 12px 30px rgba(27, 72, 90, .10);
}

.v280-home .v250-hero-search button {
    min-width: 125px;
    font-size: 14px;
    background: linear-gradient(180deg, #ff783c, var(--v280-orange));
}

.v280-home .v250-trust span {
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    border: 1px solid #e1eaed;
    box-shadow: 0 3px 12px rgba(22,63,79,.04);
}

.v280-home .v250-hero-art {
    background:
        linear-gradient(0deg, rgba(255,255,255,.15), rgba(255,255,255,.15)),
        radial-gradient(circle at 60% 45%, #f6f0df 0, #eef7f0 46%, #e7f1eb 100%);
}

.v280-home .v250-hero-art::before {
    content: "";
    position: absolute;
    inset: 6% 5% 5% 2%;
    border-radius: 42% 58% 46% 54% / 58% 42% 58% 42%;
    border: 1px solid rgba(51, 112, 82, .14);
    background: linear-gradient(145deg, rgba(255,255,255,.75), rgba(255,255,255,.1));
    box-shadow: inset 0 0 80px rgba(70, 122, 84, .06);
}

.v280-home .hero-photo {
    border-color: rgba(255,255,255,.98);
    box-shadow: 0 24px 60px rgba(25,70,60,.19), 0 0 0 1px rgba(46,93,77,.06);
}

.v280-home .hero-photo img {
    filter: saturate(1.08) contrast(1.04) brightness(1.02);
}

.v280-home .hero-photo-a {
    width: 51%;
    height: 69%;
    left: 4%;
    top: 17%;
}

.v280-home .hero-photo-b {
    width: 36%;
    height: 45%;
    right: 5%;
    bottom: 7%;
}

.v280-home .hero-photo-c {
    width: 29%;
    height: 36%;
    right: 14%;
    top: 4%;
}

.v280-home .hero-mortar {
    width: 112px;
    height: 96px;
    background: linear-gradient(145deg, #f9f6f0, #fff);
    box-shadow: 0 16px 38px rgba(46,77,63,.16);
}

.v280-home .hero-note {
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.72);
    text-shadow: 0 1px 0 #fff;
}

.v280-home .v250-servicebar {
    box-shadow: 0 8px 25px rgba(20,55,72,.035);
}

.v280-home .v250-servicebar > div {
    min-height: 67px;
}

.v280-home .v250-servicebar b {
    width: 34px;
    height: 34px;
    font-size: 15px;
}

.v280-home .v250-servicebar span,
.v280-home .v250-servicebar strong {
    font-size: 11px;
}

.v280-home .v250-category-section,
.v280-home .v250-herbs-section,
.v280-home .v250-banner-grid,
.v280-home .v250-partner-section,
.v280-home .v250-products {
    max-width: 1760px;
}

.v280-home .v250-section-head {
    margin-bottom: 14px;
}

.v280-home .v250-section-head h2 {
    font-size: 25px;
    letter-spacing: -.02em;
}

.v280-home .v250-categories {
    gap: 10px;
}

.v280-home .v250-categories > a {
    min-height: 122px;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff 0%, #fbfdfd 100%);
    box-shadow: 0 6px 20px rgba(23, 66, 82, .045);
}

.v280-home .v250-categories > a:hover {
    transform: translateY(-4px);
    box-shadow: var(--v280-shadow-soft);
}

.v280-home .v250-categories span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #f3faf6, #fff7f0);
    font-size: 34px;
    box-shadow: inset 0 0 0 1px rgba(30, 90, 67, .06);
}

.v280-home .v250-herb-row {
    gap: 9px;
}

.v280-home .v250-herb-card {
    padding: 9px;
    border-radius: 11px;
    box-shadow: 0 4px 18px rgba(22,63,79,.045);
}

.v280-home .v250-herb-photo {
    height: 104px;
    border-radius: 9px;
    background: radial-gradient(circle at 50% 40%, #fff 0, #f2f7f5 100%);
}

.v280-home .v250-herb-photo img {
    object-fit: contain;
    padding: 4px;
    filter: saturate(1.08) contrast(1.03);
}

.v280-home .v250-herb-card b {
    font-size: 12px;
}

.v280-home .v250-herb-card small {
    font-size: 9px;
}

.v280-home .v250-banner-grid {
    gap: 12px;
}

.v280-home .v250-banner-grid article {
    min-height: 190px;
    padding: 25px;
    border-radius: 13px;
    box-shadow: 0 10px 28px rgba(18,58,74,.07);
}

.v280-home .v250-banner-grid article::after {
    font-size: 105px;
    right: 16px;
    bottom: -18px;
    opacity: .18;
}

.v280-home .v250-banner-grid h3 {
    font-size: 26px;
}

.v280-home .v250-banner-grid p {
    font-size: 12px;
    line-height: 1.55;
}

.v280-home .v250-products .product-grid {
    gap: 11px;
}

.v280-home .v250-products .product-card,
.locked-v250 .catalog-results .product-card {
    border-radius: 12px;
    border: 1px solid #dbe7eb;
    box-shadow: 0 6px 20px rgba(20,55,72,.045);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.v280-home .v250-products .product-card:hover,
.locked-v250 .catalog-results .product-card:hover {
    transform: translateY(-4px);
    border-color: #c7dbe2;
    box-shadow: var(--v280-shadow-soft);
}

.v280-home .v250-products .product-art,
.locked-v250 .catalog-results .product-art {
    background: radial-gradient(circle at 50% 44%, #fff 0%, #f4f8f6 100%);
}

.v280-home .v250-products .product-art img,
.locked-v250 .catalog-results .product-art img {
    filter: saturate(1.05) contrast(1.03);
}

/* Header refinement */
.locked-global-theme .brand-image img {
    filter: contrast(1.04) saturate(1.05);
}

.locked-global-theme .search {
    height: 50px;
    border-radius: 9px;
    box-shadow: 0 5px 16px rgba(16,50,68,.04);
}

.locked-global-theme .search button,
.locked-global-theme .sell-btn,
.locked-global-theme .mainnav a:first-child {
    background: linear-gradient(180deg, #ff793b, var(--v280-orange));
}

.locked-global-theme .sell-btn:hover,
.locked-global-theme .search button:hover {
    background: var(--v280-orange-dark);
}

.locked-global-theme .mainnav {
    box-shadow: 0 3px 14px rgba(19,54,70,.03);
}

/* ---------------- Admin HD polish ---------------- */
.v280-admin .admin-topbar {
    height: 80px;
    grid-template-columns: 245px minmax(360px,1fr) auto auto;
    border-bottom-color: #d9e5e9;
}

.v280-admin .admin-brand img {
    width: 216px;
    height: 48px;
    filter: contrast(1.05) saturate(1.06);
}

.v280-admin .admin-search {
    height: 46px;
    border-radius: 9px;
    box-shadow: 0 5px 18px rgba(20,55,72,.04);
}

.v280-admin .admin-search button {
    background: linear-gradient(180deg, #ff793b, var(--v280-orange));
    font-size: 13px;
}

.v280-admin .v250-admin-shell {
    grid-template-columns: 220px minmax(0,1fr);
}

.v280-admin .v250-admin-nav {
    padding-top: 15px;
    border-right: 1px solid #dde7eb;
    box-shadow: 7px 0 20px rgba(15,50,66,.025);
}

.v280-admin .v250-admin-nav a {
    min-height: 42px;
    margin: 2px 9px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 12px;
}

.v280-admin .v250-admin-nav a.active,
.v280-admin .v250-admin-nav a:hover {
    background: linear-gradient(180deg, #ff793b, var(--v280-orange));
    color: #fff;
    box-shadow: 0 8px 18px rgba(255,107,44,.18);
}

.v280-admin .v250-admin-main {
    padding: 16px 18px 24px;
}

.v280-admin .v250-admin-welcome {
    min-height: 120px;
    border-radius: 14px;
    border: 1px solid #d8e5e8;
    box-shadow: 0 7px 24px rgba(20,55,72,.05);
    background:
        radial-gradient(circle at 91% 10%, rgba(93, 155, 102, .15), transparent 30%),
        linear-gradient(100deg, #fff 0%, #fbfdfc 55%, #eef7f1 100%);
}

.v280-admin .v250-admin-welcome h1 {
    font-size: clamp(29px, 2.25vw, 40px);
    letter-spacing: -.03em;
}

.v280-admin .v250-kpis {
    gap: 9px;
}

.v280-admin .v250-kpis > div {
    min-height: 96px;
    border-radius: 12px;
    border-color: #dbe7eb;
    box-shadow: 0 7px 21px rgba(20,55,72,.055);
    background: linear-gradient(180deg, #fff 0%, #fcfefe 100%);
}

.v280-admin .v250-kpis > div:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(20,55,72,.08);
}

.v280-admin .v250-kpis i {
    width: 43px;
    height: 43px;
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}

.v280-admin .v250-kpis span {
    font-size: 10px;
}

.v280-admin .v250-kpis b {
    font-size: 21px;
    letter-spacing: -.02em;
}

.v280-admin .v250-analytics-grid,
.v280-admin .v250-ops-grid,
.v280-admin .v250-bottom-grid {
    gap: 10px;
}

.v280-admin .v250-panel {
    border-radius: 13px;
    border-color: #dbe7eb;
    box-shadow: 0 7px 22px rgba(20,55,72,.05);
    background: linear-gradient(180deg, #fff, #fdfefe);
}

.v280-admin .panel-title h3 {
    font-size: 14px;
    letter-spacing: -.01em;
}

.v280-admin .mini-bars {
    min-height: 205px;
    background:
        linear-gradient(to top, transparent 24%, #eef3f5 25%, transparent 26%, transparent 49%, #eef3f5 50%, transparent 51%, transparent 74%, #eef3f5 75%, transparent 76%);
}

.v280-admin .mini-bars > div > span {
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(180deg, #ff8958, var(--v280-orange));
    box-shadow: 0 5px 12px rgba(255,107,44,.12);
}

.v280-admin .category-performance i::after {
    background: linear-gradient(90deg, #23a67a, #4cc29b);
}

.v280-admin .funnel i {
    filter: saturate(1.05);
    box-shadow: 0 6px 14px rgba(30,124,158,.06);
}

.v280-admin .approval-row,
.v280-admin .seller-row,
.v280-admin .v250-order-table > div {
    border-radius: 8px;
    transition: background .16s ease, transform .16s ease;
}

.v280-admin .approval-row:hover,
.v280-admin .seller-row:hover,
.v280-admin .v250-order-table > div:hover {
    background: #f6faf9;
    transform: translateX(2px);
}

.v280-admin .world-panel {
    background:
        radial-gradient(circle at 55% 50%, rgba(65,145,116,.08), transparent 42%),
        linear-gradient(180deg, #fff, #fbfdfd);
}

.v280-admin .world-map {
    width: 150px;
    height: 150px;
    display: grid;
    place-items: center;
    font-size: 92px;
    border-radius: 50%;
    background: radial-gradient(circle, #edf8f5, #f8fbfc 64%, transparent 65%);
    filter: drop-shadow(0 14px 20px rgba(27,79,76,.10));
}

.v280-admin .v250-quick a {
    border-radius: 10px;
    background: linear-gradient(180deg, #fff, #f8fbfc);
    box-shadow: 0 5px 16px rgba(20,55,72,.04);
}

.v280-admin .v250-quick a:hover {
    border-color: #c7dce2;
    transform: translateY(-2px);
    box-shadow: var(--v280-shadow-soft);
}

.v280-admin .v250-admin-partners {
    min-height: 68px;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(20,55,72,.045);
}

/* Other dashboards follow same visual family */
.locked-v250 .dashboard-shell:not(.admin-shell) .dash-main > .panel,
.locked-v250 .dashboard-shell:not(.admin-shell) .metric-grid > div,
.locked-v250 .dashboard-shell:not(.admin-shell) .dash-hero {
    border-radius: 13px;
    box-shadow: 0 8px 24px rgba(20,55,72,.06);
}

/* Responsive */
@media (max-width: 1180px) {
    .v280-home .v250-hero {
        grid-template-columns: 1fr;
    }
    .v280-home .v250-hero-art {
        min-height: 360px;
    }
    .v280-home .v250-categories {
        grid-template-columns: repeat(4,1fr);
    }
    .v280-home .v250-herb-row {
        grid-template-columns: repeat(5,1fr);
    }
    .v280-home .v250-products .product-grid {
        grid-template-columns: repeat(4,1fr);
    }
}

@media (max-width: 820px) {
    .v280-home .v250-hero-copy {
        padding: 28px 20px;
    }
    .v280-home .v250-hero h1 {
        font-size: clamp(46px, 12vw, 64px);
    }
    .v280-home .v250-servicebar {
        grid-template-columns: repeat(2,1fr);
    }
    .v280-home .v250-categories {
        grid-template-columns: repeat(2,1fr);
    }
    .v280-home .v250-herb-row {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 6px;
    }
    .v280-home .v250-herb-card {
        min-width: 140px;
        scroll-snap-align: start;
    }
    .v280-home .v250-banner-grid {
        grid-template-columns: 1fr;
    }
    .v280-home .v250-products .product-grid {
        grid-template-columns: repeat(2,1fr);
    }
    .v280-admin .v250-admin-main {
        padding: 12px;
    }
}

@media (max-width: 520px) {
    .v280-home .v250-hero-art {
        min-height: 300px;
    }
    .v280-home .hero-note,
    .v280-home .hero-mortar {
        display: none;
    }
    .v280-home .v250-products .product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
}
