
:root {
    --green-900: #184E3A;
    --green-800: #205841;
    --green-700: #2D6A4F;
    --green-600: #3A7D44;
    --green-500: #5D9B63;
    --green-300: #D9EBD7;
    --green-200: #ECF5EA;
    --green-100: #F6FAF4;
    --sand-100: #FBF9F4;
    --text-900: #24352D;
    --text-700: #5E6E65;
    --text-500: #88958F;
    --white: #FFFFFF;
    --radius-xl: 28px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --shadow-soft: 0 16px 38px rgba(24, 78, 58, .08);
    --border-soft: 1px solid rgba(45, 106, 79, .10);
}
html { scroll-behavior: smooth; }
body {
    font-family: 'Noto Sans Thai', sans-serif;
    color: var(--text-900);
    background: linear-gradient(180deg, #ffffff 0%, #fcfdfb 100%);
}
a { text-decoration: none; }
img { max-width: 100%; display: block; }
.section-space { padding: 92px 0; }
.section-space-sm { padding: 70px 0; }
.bg-soft { background: var(--sand-100); }
.bg-soft-green { background: linear-gradient(180deg, #f8fcf7 0%, #f2f8f1 100%); }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--green-100);
    color: var(--green-700);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 16px;
}
.eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--green-600);
}
.section-heading { max-width: 760px; margin: 0 auto 18px; }
.section-title {
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.2;
    margin-bottom: 16px;
    font-weight: 800;
    color: var(--green-900);
}
.section-title span { color: var(--green-600); }
.section-description {
    font-size: 17px;
    line-height: 1.8;
    color: var(--text-700);
}
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--green-700);
    font-weight: 700;
}
.pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pill-list span {
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--green-100);
    border: var(--border-soft);
    color: var(--green-800);
    font-size: 14px;
    font-weight: 600;
}
.main-navbar {
    padding: 14px 0;
    border-bottom: 1px solid rgba(24, 78, 58, .06);
    backdrop-filter: blur(10px);
}
.brand-mark {
    width: 48px; height: 48px; border-radius: 16px;
    background: linear-gradient(135deg, var(--green-900), var(--green-600));
    color: white; display: inline-flex; align-items: center; justify-content: center;
    font-size: 22px; box-shadow: var(--shadow-soft);
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.15; }
.brand-copy strong { color: var(--green-900); font-size: 16px; }
.brand-copy small { color: var(--text-500); font-size: 12px; }
.navbar-nav .nav-link { color: var(--text-900); font-weight: 600; padding: 10px 12px !important; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus { color: var(--green-700); }
.btn-login {
    padding: 11px 18px; border-radius: 999px; border: var(--border-soft);
    background: white; color: var(--green-900); font-weight: 700;
}
.btn-login:hover { background: var(--green-900); color: white; }
.btn-primary-custom, .btn-outline-custom, .btn-soft-custom {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    border-radius: 999px; padding: 14px 24px; font-weight: 700;
}
.btn-primary-custom { background: linear-gradient(135deg, var(--green-900), var(--green-600)); color: #fff; box-shadow: var(--shadow-soft); }
.btn-primary-custom:hover { color: #fff; transform: translateY(-1px); }
.btn-outline-custom { color: var(--green-900); border: 1px solid rgba(24, 78, 58, .16); background: rgba(255,255,255,.85); }
.btn-outline-custom:hover { background: var(--green-100); color: var(--green-900); }
.btn-soft-custom { background: var(--green-100); color: var(--green-800); }
.hero-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(248,252,247,1) 0%, rgba(255,255,255,1) 100%);
    border-bottom: 1px solid rgba(24, 78, 58, .06);
}
.hero-grid { min-height: 720px; align-items: center; }
.hero-title {
    font-size: clamp(40px, 6vw, 68px);
    line-height: 1.1;
    color: var(--green-900);
    margin-bottom: 18px;
    font-weight: 800;
}
.hero-title span { color: var(--green-600); }
.hero-description {
    max-width: 640px;
    font-size: 18px;
    line-height: 1.85;
    color: var(--text-700);
    margin-bottom: 28px;
}
.hero-stat-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.stat-chip {
    padding: 14px 16px; min-width: 150px; border-radius: var(--radius-md);
    background: #fff; border: var(--border-soft); box-shadow: var(--shadow-soft);
}
.stat-chip strong { display: block; color: var(--green-900); font-size: 28px; line-height: 1; }
.stat-chip span { color: var(--text-700); font-size: 14px; }
.hero-visual-wrap { position: relative; }
.hero-visual-main {
    border-radius: 34px; overflow: hidden; box-shadow: 0 28px 60px rgba(30, 91, 62, .13);
    border: 10px solid #fff;
}
.floating-card {
    position: absolute; background: rgba(255,255,255,.96); box-shadow: var(--shadow-soft);
    border: var(--border-soft); border-radius: 20px; padding: 16px 18px;
}
.floating-card h6 { margin: 0 0 2px; color: var(--green-900); font-size: 16px; }
.floating-card p { margin: 0; color: var(--text-700); font-size: 13px; }
.float-top { top: -18px; right: 8%; }
.float-bottom { left: -2%; bottom: 7%; }
.about-box {
    padding: 20px;
    background: white;
    border: var(--border-soft);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-soft);
}
.about-visual { overflow: hidden; border-radius: 26px; }
.about-visual img { width: 100%; height: 100%; object-fit: cover; }
.highlight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.highlight-item {
    background: white; border: var(--border-soft); border-radius: 22px; padding: 22px; box-shadow: var(--shadow-soft);
}
.highlight-item .icon { width: 50px; height: 50px; border-radius: 15px; display:flex; align-items:center; justify-content:center; background: var(--green-100); color: var(--green-700); font-size: 22px; margin-bottom: 16px; }
.highlight-item h3 { font-size: 18px; color: var(--green-900); margin-bottom: 10px; }
.highlight-item p { margin: 0; color: var(--text-700); line-height: 1.7; }
.cards-grid-8 { margin-top: 34px; }
.farm-card, .product-card, .knowledge-card, .news-card, .panel-card {
    height: 100%; background: white; border: var(--border-soft); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-soft);
    transition: .25s ease;
}
.farm-card:hover, .product-card:hover, .knowledge-card:hover, .news-card:hover, .panel-card:hover {
    transform: translateY(-6px);
}
.media-top { position: relative; overflow: hidden; }
.media-top img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.logo-badge {
    position: absolute; top: 16px; left: 16px; width: 60px; height: 60px; border-radius: 18px;
    background: rgba(255,255,255,.94); display:flex; align-items:center; justify-content:center;
    font-weight: 800; color: var(--green-900); box-shadow: var(--shadow-soft); border: 1px solid rgba(24, 78, 58, .08);
}
.card-body-custom { padding: 22px; }
.location-pill {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--green-100); color: var(--green-800); font-size: 12px; font-weight: 700; margin-bottom: 12px;
}
.farm-card h3, .product-card h3, .knowledge-card h3, .news-card h3, .panel-card h3 { color: var(--green-900); font-size: 22px; line-height: 1.35; margin-bottom: 10px; }
.farm-card p, .product-card p, .knowledge-card p, .news-card p, .panel-card p { color: var(--text-700); line-height: 1.75; margin-bottom: 16px; }
.meta-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.meta-tag {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: #F7FAF6; border: var(--border-soft); color: var(--text-700); font-size: 12px; font-weight: 700;
}
.product-badge {
    position: absolute; right: 16px; top: 16px; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; color: #fff;
}
.badge-farm { background: rgba(45,106,79,.92); }
.badge-community { background: rgba(137, 108, 44, .92); }
.category-text { color: var(--green-700); font-size: 13px; font-weight: 700; display: inline-block; margin-bottom: 8px; }
.product-footer {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto;
}
.btn-line {
    display: inline-flex; align-items: center; gap: 8px; background: #06C755; color: #fff; border-radius: 999px; padding: 10px 16px; font-size: 14px; font-weight: 700;
}
.btn-line:hover { color: #fff; }
.source-pill { display: inline-flex; align-items:center; gap:6px; padding: 7px 11px; border-radius: 999px; background: var(--sand-100); color: var(--text-700); font-size: 12px; font-weight:700; }
.product-price { color: var(--green-900); font-size: 15px; font-weight: 800; }
.knowledge-card .media-top img, .news-card .media-top img { aspect-ratio: 16 / 10; }
.news-meta { color: var(--green-700); font-size: 13px; font-weight: 700; margin-bottom: 8px; display: block; }
.cta-box {
    padding: 42px; border-radius: 30px; background: linear-gradient(135deg, var(--green-900), var(--green-700)); color: white; box-shadow: 0 22px 48px rgba(24, 78, 58, .18);
}
.cta-box h2 { font-size: clamp(28px, 4vw, 40px); margin-bottom: 12px; }
.cta-box p { color: rgba(255,255,255,.84); line-height: 1.8; max-width: 760px; }
.site-footer { background: #0f382b; color: rgba(255,255,255,.75); padding: 72px 0 24px; margin-top: 50px; }
.site-footer h4, .site-footer h5 { color: #fff; }
.site-footer h4 { line-height: 1.5; }
.site-footer p { line-height: 1.8; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 10px; }
.site-footer a { color: rgba(255,255,255,.74); }
.site-footer a:hover { color: white; }
.site-footer hr { border-color: rgba(255,255,255,.1); margin: 34px 0 18px; }
.footer-bottom { font-size: 14px; }
.page-hero {
    padding: 80px 0 36px; background: linear-gradient(180deg, #F7FBF5 0%, #FFFFFF 100%);
    border-bottom: 1px solid rgba(24, 78, 58, .06);
}
.page-hero .section-title { margin-bottom: 10px; }
.breadcrumb-lite { color: var(--text-500); font-size: 14px; }
.breadcrumb-lite a { color: var(--green-700); }
.masonry-simple { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.masonry-simple img { width: 100%; border-radius: 18px; border: var(--border-soft); }
.contact-info-box { padding: 28px; background: white; border: var(--border-soft); border-radius: 24px; box-shadow: var(--shadow-soft); height: 100%; }
.contact-list li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; color: var(--text-700); }
.contact-list i { color: var(--green-700); font-size: 18px; margin-top: 3px; }
.form-control, .form-select { border-radius: 16px; padding: 14px 16px; border: 1px solid rgba(24, 78, 58, .16); }
.form-control:focus, .form-select:focus { border-color: var(--green-500); box-shadow: 0 0 0 .2rem rgba(93, 155, 99, .15); }
.login-card {
    max-width: 460px; margin: 0 auto; background: white; border: var(--border-soft); border-radius: 28px; padding: 32px; box-shadow: var(--shadow-soft);
}
.filter-bar {
    display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0 26px;
}
.filter-chip {
    display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: white; border: var(--border-soft); color: var(--text-700); font-weight: 700; font-size: 14px;
}
.farm-detail-header {
    background: white; border: var(--border-soft); border-radius: 30px; padding: 26px; box-shadow: var(--shadow-soft); margin-top: -60px; position: relative;
}
.farm-detail-logo { width: 82px; height: 82px; border-radius: 24px; background: linear-gradient(135deg, var(--green-900), var(--green-600)); color: white; display: flex; align-items:center; justify-content:center; font-weight:800; font-size: 32px; }
.video-box { position: relative; overflow: hidden; border-radius: 26px; border: var(--border-soft); box-shadow: var(--shadow-soft); }
.video-box img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.play-badge { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.play-badge span { width: 84px; height: 84px; border-radius: 50%; background: rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; color: var(--green-900); font-size: 32px; box-shadow: var(--shadow-soft); }
.sidebar-sticky { position: sticky; top: 92px; }
.info-list { list-style: none; padding: 0; margin: 0; }
.info-list li { display: flex; gap: 10px; margin-bottom: 12px; color: var(--text-700); }
.info-list i { color: var(--green-700); }
@media (max-width: 1199px) {
    .highlight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .section-space { padding: 78px 0; }
    .hero-grid { min-height: auto; padding: 44px 0 66px; }
    .hero-visual-wrap { margin-top: 32px; }
    .float-top { right: 5%; top: -10px; }
    .float-bottom { left: 4%; bottom: -12px; }
    .cta-box { padding: 32px; }
    .masonry-simple { grid-template-columns: repeat(2, 1fr); }
    .sidebar-sticky { position: static; }
}
@media (max-width: 767px) {
    .section-space { padding: 64px 0; }
    .hero-title { font-size: 42px; }
    .hero-description { font-size: 16px; }
    .hero-stat-row { gap: 10px; }
    .stat-chip { min-width: 0; width: calc(50% - 5px); }
    .highlight-grid { grid-template-columns: 1fr; }
    .cta-box { padding: 26px; }
    .masonry-simple { grid-template-columns: 1fr; }
    .product-footer { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575px) {
    .brand-copy strong { font-size: 15px; }
    .brand-copy small { font-size: 11px; }
    .hero-title { font-size: 36px; }
    .stat-chip { width: 100%; }
    .floating-card { position: static; margin-top: 14px; }
    .hero-visual-wrap { display: flex; flex-direction: column; gap: 12px; }
    .farm-card h3, .product-card h3, .knowledge-card h3, .news-card h3, .panel-card h3 { font-size: 20px; }
    .login-card { padding: 24px; }
}


/* Public-site refinements */
.hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 28px;
}
.hero-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-700);
    font-size: 14px;
    font-weight: 600;
}
.hero-trust-row i {
    color: var(--green-700);
    font-size: 17px;
}
.cards-grid-8 .farm-card,
.cards-grid-8 .product-card {
    min-height: 100%;
}
.cards-grid-8 .card-body-custom {
    min-height: 272px;
}
@media (min-width: 1200px) {
    .cards-grid-8 .media-top img {
        aspect-ratio: 1.18 / 1;
    }
}
@media (max-width: 767px) {
    .section-heading {
        margin-bottom: 8px;
    }
    .section-title {
        font-size: 31px;
    }
    .cards-grid-8 {
        margin-top: 26px;
    }
    .cards-grid-8 .card-body-custom {
        min-height: 0;
    }
    .hero-trust-row {
        gap: 10px;
    }
    .hero-trust-row span {
        width: 100%;
    }
}


/* =========================================================
   CHANORGANIC STARTER UI
   โครงหลักสำหรับใช้งานระยะยาว
   ========================================================= */

:root {
    --brand-red: #a94a38;
    --brand-yellow: #efc922;
    --brand-green: #3e7138;
    --soft-cream: #fbf8ef;
    --soft-cream-2: #f7f3e8;
    --soft-green: #eef4e8;
    --soft-border: rgba(86, 107, 66, .13);
    --soft-shadow: 0 14px 34px rgba(66, 82, 55, .08);
}

body {
    background:
        radial-gradient(circle at 8% 12%, rgba(238, 244, 229, .68), transparent 24rem),
        radial-gradient(circle at 92% 35%, rgba(250, 243, 219, .52), transparent 26rem),
        #fffdf8;
}

.main-navbar {
    padding: 10px 0;
    background: rgba(255,255,255,.94) !important;
}

.brand-logo-link {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-logo-image {
    width: 72px;
    height: 64px;
    object-fit: contain;
    border-radius: 12px;
    background: #fff;
}

.brand-copy strong {
    color: var(--brand-red);
}

.brand-copy small {
    color: var(--brand-green);
    font-weight: 600;
}

.hero-section {
    position: relative;
    padding: 18px 0 24px;
    background:
        linear-gradient(110deg, rgba(251,248,239,.96) 0%, rgba(255,255,255,.84) 44%, rgba(238,244,232,.70) 100%);
}

.hero-grid {
    min-height: 620px;
}

.hero-title {
    color: #4d602f;
    letter-spacing: -.02em;
}

.hero-title span {
    display: block;
    color: #7d5038;
    margin-top: 6px;
}

.hero-photo-card {
    position: relative;
    border-radius: 36px 36px 88px 36px;
    overflow: hidden;
    box-shadow: 0 24px 54px rgba(70, 83, 49, .11);
    background: #f5f3e8;
}

.hero-photo-card img {
    width: 100%;
    min-height: 480px;
    object-fit: cover;
}

.hero-floating-info {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.hero-floating-info > div {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 18px;
    padding: 14px 16px;
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 28px rgba(48, 67, 42, .08);
}

.hero-floating-info i {
    color: var(--brand-green);
    margin-right: 6px;
}

.hero-floating-info strong {
    display: block;
    color: #40552d;
    font-size: 14px;
}

.hero-floating-info small {
    display: block;
    color: #77816f;
    font-size: 11px;
    margin-top: 3px;
}

.hero-wave {
    height: 48px;
    margin-top: -20px;
    background:
        radial-gradient(70% 90px at 50% -10px, transparent 64%, #fffdf8 65%);
}

.home-quick-section {
    padding-top: 16px;
}

.soft-feature-card {
    min-height: 246px;
    border-radius: 26px;
    padding: 28px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(250,247,236,.90));
    border: 1px solid rgba(201, 181, 127, .24);
    box-shadow: var(--soft-shadow);
    display: flex;
    justify-content: space-between;
    gap: 22px;
    overflow: hidden;
    position: relative;
}

.soft-feature-card::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    right: -58px;
    bottom: -58px;
    background: rgba(225, 235, 213, .55);
}

.soft-feature-copy {
    position: relative;
    z-index: 2;
}

.feature-label {
    color: var(--brand-green);
    font-size: 13px;
    font-weight: 800;
}

.soft-feature-card h2 {
    font-size: 21px;
    line-height: 1.5;
    color: #4c5c33;
    margin: 10px 0;
}

.soft-feature-card p {
    color: #78816e;
    line-height: 1.7;
    margin-bottom: 18px;
}

.soft-feature-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 18px;
    background: rgba(239, 244, 230, .95);
    color: var(--brand-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    position: relative;
    z-index: 2;
}

.section-head-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 30px;
}

.section-head-row > div:first-child {
    max-width: 720px;
}

.section-head-row .section-description {
    margin-bottom: 0;
}

.section-more-link {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 9px 15px;
    border-radius: 999px;
    color: #657644;
    font-weight: 700;
    border: 1px solid rgba(101, 118, 68, .24);
    background: rgba(255,255,255,.82);
}

.farm-card-soft,
.product-card-soft {
    box-shadow: 0 10px 28px rgba(70, 83, 49, .07);
    border-color: rgba(90, 109, 65, .11);
    border-radius: 22px;
    background: rgba(255,255,255,.93);
}

.farm-card-image,
.product-card-image {
    display: block;
    position: relative;
    overflow: hidden;
}

.farm-card-image img,
.product-card-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .35s ease;
}

.farm-card-soft:hover img,
.product-card-soft:hover img {
    transform: scale(1.035);
}

.farm-logo-real {
    position: absolute;
    left: 16px;
    bottom: 14px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(80, 100, 61, .13);
    color: var(--brand-green);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(50, 70, 40, .12);
}

.farm-card-soft h3,
.product-card-soft h3 {
    font-size: 19px;
    margin-bottom: 6px;
}

.farm-card-desc,
.product-card-desc {
    font-size: 13px;
    line-height: 1.7;
    min-height: 44px;
}

.farm-meta-soft {
    font-size: 12px;
    color: #77816f;
    margin-bottom: 12px;
}

.farm-meta-soft i {
    color: var(--brand-green);
}

.subtle-card-link {
    color: #718544;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.product-source-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    box-shadow: 0 7px 16px rgba(30, 50, 25, .10);
}

.product-source-badge.from-farm {
    background: rgba(75, 111, 52, .93);
}

.product-source-badge.from-community {
    background: rgba(151, 111, 54, .92);
}

.product-soft-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.product-origin {
    color: #7c826e;
    font-size: 11px;
    font-weight: 700;
}

.mini-round-action {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6f8244;
    border: 1px solid rgba(111, 130, 68, .22);
    background: #fff;
}

.home-utility-section {
    padding-top: 24px;
}

.utility-band {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(193, 178, 132, .18);
    box-shadow: var(--soft-shadow);
    background: linear-gradient(90deg, #fcf9f0, #f7f4e9);
}

.utility-item {
    min-height: 174px;
    padding: 26px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: center;
    position: relative;
}

.utility-item + .utility-item::before {
    content: "";
    position: absolute;
    top: 26px;
    bottom: 26px;
    left: 0;
    width: 1px;
    background: rgba(123, 117, 92, .14);
}

.utility-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brand-green);
    background: rgba(232, 239, 220, .85);
    font-size: 24px;
}

.utility-item span {
    display: block;
    color: #81906c;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.utility-item strong {
    display: block;
    color: #526238;
    font-size: 17px;
    margin-bottom: 4px;
}

.utility-item small {
    color: #858a7a;
    line-height: 1.6;
}

.utility-arrow {
    color: #7a8a57;
}

.section-head-row.compact {
    align-items: center;
    margin-bottom: 20px;
}

.section-head-row.compact .section-title {
    font-size: 29px;
    margin-bottom: 0;
}

.mini-content-card {
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(90, 109, 65, .10);
    box-shadow: 0 8px 22px rgba(70, 83, 49, .05);
}

.mini-content-card img {
    width: 100%;
    aspect-ratio: 4 / 2.5;
    object-fit: cover;
}

.mini-content-card > div {
    padding: 14px;
}

.mini-content-card span {
    display: block;
    color: #879173;
    font-size: 10px;
    font-weight: 800;
    margin-bottom: 6px;
}

.mini-content-card h3 {
    font-size: 14px;
    line-height: 1.55;
    color: #53613b;
    margin: 0;
}

.community-cta {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    border-radius: 34px;
    padding: 46px 52px;
    display: grid;
    grid-template-columns: 1.5fr .8fr;
    align-items: center;
    background:
        radial-gradient(circle at 100% 100%, rgba(220, 231, 202, .90), transparent 22rem),
        linear-gradient(135deg, #f7f2df 0%, #eef4e6 100%);
    border: 1px solid rgba(188, 171, 119, .18);
}

.community-cta h2 {
    color: #53623a;
    font-size: 34px;
}

.community-cta p {
    color: #737b67;
    line-height: 1.8;
    max-width: 680px;
}

.eyebrow-light {
    background: rgba(255,255,255,.55);
}

.btn-light-soft,
.btn-outline-light-soft {
    border-radius: 999px;
    padding: 12px 21px;
    font-weight: 700;
}

.btn-light-soft {
    background: #6c7f45;
    color: #fff;
}

.btn-outline-light-soft {
    border: 1px solid rgba(103, 123, 66, .26);
    color: #637444;
    background: rgba(255,255,255,.55);
}

.community-cta-art {
    display: flex;
    justify-content: flex-end;
}

.community-cta-art img {
    max-width: 300px;
    border-radius: 50%;
    transform: rotate(-3deg);
    box-shadow: 0 20px 45px rgba(73, 84, 55, .10);
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.footer-logo {
    width: 86px;
    height: 78px;
    object-fit: contain;
    border-radius: 14px;
    background: white;
}

.footer-brand small {
    color: #c6d3b2;
}

.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.footer-social a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
}

.footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact-list li {
    margin-bottom: 11px;
}

.footer-contact-list i {
    width: 24px;
    color: #b7c9a3;
}

@media (max-width: 991px) {
    .brand-logo-image {
        width: 62px;
        height: 56px;
    }

    .hero-grid {
        min-height: auto;
        padding: 30px 0 50px;
    }

    .hero-floating-info {
        position: static;
        grid-template-columns: 1fr;
        margin-top: 12px;
    }

    .section-head-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .utility-band {
        grid-template-columns: 1fr;
    }

    .utility-item + .utility-item::before {
        top: 0;
        bottom: auto;
        left: 24px;
        right: 24px;
        width: auto;
        height: 1px;
    }

    .community-cta {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .community-cta-art {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .brand-logo-image {
        width: 52px;
        height: 48px;
    }

    .brand-copy strong {
        font-size: 13px;
    }

    .brand-copy small {
        font-size: 10px;
    }

    .hero-title {
        font-size: 36px;
    }

    .hero-photo-card {
        border-radius: 26px 26px 54px 26px;
    }

    .hero-photo-card img {
        min-height: 310px;
    }

    .soft-feature-card {
        min-height: 0;
        padding: 22px;
    }

    .section-head-row.compact .section-title {
        font-size: 25px;
    }

    .utility-item {
        grid-template-columns: auto 1fr;
    }

    .utility-arrow {
        display: none;
    }

    .community-cta {
        padding: 30px 24px;
    }

    .community-cta h2 {
        font-size: 28px;
    }

    .community-cta-art img {
        max-width: 220px;
    }
}


/* =========================================================
   HERO COMPACT V2
   ลดพื้นที่ Hero โดยเฉพาะมือถือ
   ========================================================= */

.hero-section {
    padding: 16px 0 24px;
}

.hero-grid {
    min-height: 500px;
}

.hero-title {
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.08;
    margin-bottom: 14px;
}

.hero-description {
    max-width: 520px;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-trust-row {
    margin-top: 18px;
    gap: 10px 16px;
}

.hero-photo-card {
    display: block;
    position: relative;
    min-height: 0;
    border-radius: 30px 30px 68px 30px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(70, 83, 49, .10);
}

.hero-photo-card img {
    width: 100%;
    height: 420px;
    min-height: 0;
    object-fit: cover;
}

.hero-image-caption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 2px;
    align-items: center;
    padding: 12px 15px;
    border-radius: 16px;
    background: rgba(255,255,255,.91);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 10px 24px rgba(47,64,38,.08);
}

.hero-image-caption strong {
    grid-column: 1;
    color: #4f6039;
    font-size: 14px;
}

.hero-image-caption span {
    grid-column: 1;
    color: #7e8775;
    font-size: 11px;
}

.hero-image-caption i {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: #718548;
    font-size: 18px;
}

@media (max-width: 991px) {
    .hero-section {
        padding: 18px 0 30px;
    }

    .hero-grid {
        min-height: 0;
        padding: 0;
    }

    .hero-title {
        font-size: 42px;
    }

    .hero-photo-card {
        margin-top: 2px;
        border-radius: 24px;
    }

    .hero-photo-card img {
        height: 330px;
    }
}

@media (max-width: 767px) {
    .hero-section {
        padding: 10px 0 20px;
    }

    .hero-grid {
        gap: 16px !important;
    }

    .hero-eyebrow {
        margin-bottom: 8px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .hero-title {
        font-size: 32px;
        line-height: 1.12;
        margin-bottom: 8px;
    }

    .hero-title span {
        margin-top: 2px;
    }

    .hero-description {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 13px;
    }

    .hero-actions {
        gap: 8px;
    }

    .hero-actions .btn {
        padding: 9px 14px;
        font-size: 13px;
    }

    .hero-trust-row {
        display: none;
    }

    .hero-photo-card {
        border-radius: 20px;
        margin-top: 0;
    }

    .hero-photo-card img {
        height: 195px;
        object-position: center 50%;
    }

    .hero-image-caption {
        left: 10px;
        right: 10px;
        bottom: 9px;
        padding: 9px 11px;
        border-radius: 13px;
    }

    .hero-image-caption strong {
        font-size: 11px;
    }

    .hero-image-caption span {
        font-size: 9px;
    }

    .hero-image-caption i {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .hero-section {
        padding-top: 8px;
    }

    .hero-title {
        font-size: 29px;
    }

    .hero-description {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .hero-actions {
        width: 100%;
    }

    .hero-actions .btn {
        flex: 1 1 calc(50% - 4px);
        padding: 9px 8px;
        white-space: nowrap;
    }

    .hero-photo-card img {
        height: 165px;
    }

    .hero-image-caption span {
        display: none;
    }
}


/* =========================================================
   CONTENT V3
   ========================================================= */

.about-logo-feature {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
    background: #fff;
    padding: 28px;
}

.objective-card {
    height: 100%;
    min-height: 150px;
    padding: 24px;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(74,104,61,.10);
    box-shadow: 0 10px 28px rgba(71,84,55,.06);
}

.objective-number {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--green-100);
    color: var(--green-700);
    font-weight: 800;
    margin-bottom: 14px;
}

.objective-card p {
    margin: 0;
    color: var(--text-700);
    line-height: 1.75;
}

.goal-list {
    display: grid;
    gap: 12px;
}

.goal-item {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 14px;
    align-items: start;
    padding: 18px 20px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(74,104,61,.10);
}

.goal-item > span {
    color: var(--green-600);
    font-weight: 800;
}

.goal-item p {
    margin: 0;
    line-height: 1.75;
    color: var(--text-700);
}

.community-message-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
    padding: 36px 42px;
    border-radius: 28px;
    background: linear-gradient(135deg, #f5f1df, #edf4e6);
    border: 1px solid rgba(143,124,77,.12);
}

.community-message-box h2 {
    color: #52623a;
    font-size: 30px;
    line-height: 1.45;
}

.community-message-box p {
    color: #717b68;
    margin: 0;
}

.community-message-box > strong {
    padding: 14px 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #677a48;
    white-space: nowrap;
}

.contact-info-box a {
    color: var(--green-700);
}

.image-fallback {
    object-fit: contain !important;
    background: #f5f3ec !important;
}

@media (max-width: 767px) {
    .community-message-box {
        grid-template-columns: 1fr;
        padding: 26px;
    }

    .community-message-box h2 {
        font-size: 24px;
    }

    .community-message-box > strong {
        white-space: normal;
    }
}


/* =========================================================
   V4 MODERN REFINEMENTS
   ========================================================= */

.section-space {
    padding: 56px 0;
}

.section-space-sm {
    padding: 34px 0;
}

.section-heading {
    margin-bottom: 14px;
}

.section-head-row {
    margin-bottom: 22px;
}

.home-quick-section {
    padding-top: 8px;
    padding-bottom: 18px;
}

.home-farms-section,
.home-products-section,
.home-content-section,
.home-utility-section,
.home-cta-section {
    margin-top: 0;
}

/* equal card system */
.home-quick-section .col-lg-4,
.home-farms-section .col,
.home-products-section .col,
.home-content-section .col-md-4 {
    display: flex;
}

.soft-feature-card,
.farm-card-soft,
.product-card-soft,
.mini-content-card,
.original-text-card {
    width: 100%;
    height: 100%;
}

.soft-feature-card {
    min-height: 280px;
}

.soft-feature-card h2 {
    min-height: 94px;
}

.soft-feature-card p {
    min-height: 82px;
}

.farm-card-soft,
.product-card-soft {
    display: flex;
    flex-direction: column;
}

.farm-card-image img,
.product-card-image img {
    aspect-ratio: 4 / 3;
}

.farm-card-soft .card-body-custom,
.product-card-soft .card-body-custom {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 224px;
}

.farm-card-soft h3,
.product-card-soft h3 {
    min-height: 52px;
    line-height: 1.35;
}

.farm-card-desc,
.product-card-desc {
    min-height: 64px;
}

.mini-content-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.mini-content-card > div {
    min-height: 118px;
    display: flex;
    flex-direction: column;
}

.mini-content-card h3 {
    min-height: 66px;
}

/* full-width hero */
.hero-immersive {
    padding: 18px 0 22px;
    background: linear-gradient(180deg, #fffdf8 0%, #fbf9f1 100%);
}

.hero-stage {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 0;
}

.hero-stage-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-stage-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,252,245,.96) 0%, rgba(255,252,245,.92) 28%, rgba(255,252,245,.62) 48%, rgba(255,252,245,.16) 72%, rgba(255,252,245,.05) 100%);
}

.hero-stage-container {
    position: relative;
    z-index: 2;
    min-height: 560px;
    display: flex;
    align-items: center;
}

.hero-copy-panel {
    max-width: 560px;
    padding: 18px 0;
}

.hero-org-name {
    display: inline-block;
    margin-bottom: 16px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: #567243;
    border: 1px solid rgba(86,114,67,.10);
    font-size: 14px;
    font-weight: 700;
}

.hero-main-title {
    font-size: clamp(38px, 6vw, 68px);
    line-height: 1.02;
    margin-bottom: 16px;
    font-weight: 800;
    color: #2b5d45;
}

.hero-subtext {
    max-width: 520px;
    margin-bottom: 22px;
    font-size: 18px;
    line-height: 1.8;
    color: #5a6c60;
}

.hero-outline-on-image {
    background: rgba(255,255,255,.78);
}

.hero-mini-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 18px;
}

.hero-mini-points span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #4f6357;
}

.hero-mini-points i {
    color: #6d8640;
}

/* organization content styling */
.about-intro-section .about-box {
    height: 100%;
}

.info-grid-organization {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.info-item-org {
    padding: 18px 18px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(45, 106, 79, .10);
}

.info-item-org strong {
    display: block;
    margin-bottom: 8px;
    color: #557244;
}

.info-item-org p {
    margin: 0;
    color: #55675e;
    line-height: 1.75;
}

.long-content-box {
    max-width: 980px;
    margin: 0 auto;
    padding: 30px 32px;
    border-radius: 28px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(45, 106, 79, .10);
    box-shadow: 0 12px 32px rgba(66, 82, 55, .06);
}

.long-content-box p {
    margin: 0 0 18px;
    color: #55675e;
    line-height: 1.95;
    font-size: 16px;
}

.long-content-box p:last-child {
    margin-bottom: 0;
}

.original-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.original-text-card {
    padding: 22px 24px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(45, 106, 79, .10);
    box-shadow: 0 10px 26px rgba(66, 82, 55, .05);
}

.original-text-card p {
    margin: 0;
    color: #55675e;
    line-height: 1.85;
}

.original-text-card-lg {
    min-height: 210px;
}

.community-message-stack {
    display: grid;
    gap: 18px;
}

.message-intro-card,
.message-bullet-card {
    padding: 26px 28px;
    border-radius: 24px;
    background: linear-gradient(135deg, #faf6e8 0%, #f1f6e9 100%);
    border: 1px solid rgba(143, 124, 77, .12);
}

.message-intro-card h2 {
    margin: 0 0 12px;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.3;
    color: #51633a;
}

.message-intro-card p,
.message-bullet-card p,
.message-bullet-card li {
    color: #5f6c61;
    line-height: 1.85;
}

.message-bullet-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px;
}

.message-bullet-card strong,
.message-bullet-card h3 {
    display: block;
    margin-bottom: 10px;
    color: #51633a;
}

.message-bullet-card ul {
    margin: 0;
    padding-left: 18px;
}

.message-bullet-card.accent {
    background: linear-gradient(135deg, #eef5e5 0%, #fbf4e1 100%);
}

/* responsive */
@media (max-width: 1199px) {
    .hero-stage,
    .hero-stage-container {
        min-height: 520px;
    }
}

@media (max-width: 991px) {
    .section-space {
        padding: 46px 0;
    }

    .section-space-sm {
        padding: 30px 0;
    }

    .soft-feature-card h2,
    .soft-feature-card p,
    .farm-card-soft h3,
    .product-card-soft h3,
    .farm-card-desc,
    .product-card-desc,
    .mini-content-card h3,
    .mini-content-card > div {
        min-height: 0;
    }

    .hero-stage,
    .hero-stage-container {
        min-height: 460px;
    }

    .hero-stage-overlay {
        background: linear-gradient(90deg, rgba(255,252,245,.96) 0%, rgba(255,252,245,.88) 48%, rgba(255,252,245,.42) 76%, rgba(255,252,245,.14) 100%);
    }

    .info-grid-organization,
    .original-list-grid,
    .message-bullet-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .section-space {
        padding: 38px 0;
    }

    .section-space-sm {
        padding: 24px 0;
    }

    .hero-immersive {
        padding: 10px 0 14px;
    }

    .hero-stage,
    .hero-stage-container {
        min-height: 360px;
    }

    .hero-stage-overlay {
        background: linear-gradient(180deg, rgba(255,252,245,.94) 0%, rgba(255,252,245,.86) 44%, rgba(255,252,245,.52) 100%);
    }

    .hero-stage-container {
        align-items: flex-start;
        padding-top: 22px;
    }

    .hero-copy-panel {
        max-width: 100%;
    }

    .hero-org-name {
        font-size: 11px;
        margin-bottom: 12px;
    }

    .hero-main-title {
        font-size: 32px;
        line-height: 1.1;
        margin-bottom: 10px;
    }

    .hero-subtext {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 16px;
        max-width: 90%;
    }

    .hero-actions .btn {
        padding: 10px 16px;
        font-size: 13px;
    }

    .hero-mini-points {
        display: none;
    }

    .soft-feature-card {
        min-height: 0;
    }

    .section-head-row {
        gap: 12px;
    }

    .long-content-box,
    .message-intro-card,
    .message-bullet-card,
    .original-text-card {
        padding: 20px;
    }
}


/* =========================================================
   HERO RESPONSIVE V5
   ภาพ Hero ย่อ-ขยายตามความกว้างหน้าจอจริง
   ไม่บังคับความสูงคงที่
   ========================================================= */

.hero-immersive {
    width: 100%;
    padding: 0;
    margin: 0;
    background: #f6f8f4;
}


/* ความสูงของ Hero จะเกิดจากสัดส่วนของรูปจริง */
.hero-stage {
    position: relative;
    width: 100%;
    min-height: 0 !important;
    overflow: hidden;
    background: #eef3ed;
}


/* จุดสำคัญ:
   width 100% + height auto
   ทำให้รูปย่อตามหน้าจอโดยไม่ Crop */
.hero-stage-image {
    position: relative !important;
    inset: auto !important;

    display: block;

    width: 100%;
    height: auto !important;
    min-height: 0 !important;

    object-fit: contain !important;
}


/* Overlay อยู่ทับบนภาพ */
.hero-stage-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(247, 250, 247, .97) 0%,
            rgba(247, 250, 247, .90) 25%,
            rgba(247, 250, 247, .60) 42%,
            rgba(247, 250, 247, .15) 62%,
            rgba(247, 250, 247, 0) 78%
        );

    pointer-events: none;
}


/* ข้อความซ้อนทับรูป
   สูงเท่ากับภาพโดยอัตโนมัติ */
.hero-stage-container {
    position: absolute;
    inset: 0;

    z-index: 2;

    min-height: 0 !important;

    display: flex;
    align-items: center;
}


/* พื้นที่ข้อความ */
.hero-copy-panel {
    width: 46%;
    max-width: 600px;
    padding: 0;
}


/* ชื่อวิสาหกิจด้านบน */
.hero-org-name {
    display: inline-flex;

    padding: 7px 13px;

    margin-bottom: 12px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .72);

    backdrop-filter: blur(8px);

    color: #4f714e;

    font-size: 13px;
    font-weight: 600;
}


/* หัวข้อหลัก */
.hero-main-title {
    margin: 0 0 12px;

    color: #174f3b;

    font-size: clamp(30px, 3.4vw, 54px);

    font-weight: 800;

    line-height: 1.18;
}


/* คำอธิบาย */
.hero-subtext {
    max-width: 540px;

    margin-bottom: 20px;

    color: #53685d;

    font-size: clamp(14px, 1.15vw, 17px);

    line-height: 1.75;
}


/* CTA */
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/* จุดเด่นด้านล่าง */
.hero-mini-points {
    display: flex;

    flex-wrap: wrap;

    gap: 10px 18px;

    margin-top: 18px;
}


.hero-mini-points span {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #4e6357;

    font-size: 13px;

    font-weight: 600;
}


.hero-mini-points i {
    color: #4f7b50;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .hero-copy-panel {
        width: 53%;
    }


    .hero-main-title {
        font-size: clamp(27px, 4vw, 40px);
    }


    .hero-subtext {
        font-size: 14px;

        line-height: 1.6;

        margin-bottom: 14px;
    }


    .hero-actions .btn {
        padding: 10px 16px;

        font-size: 13px;
    }


    .hero-mini-points {
        margin-top: 12px;

        gap: 8px 12px;
    }


    .hero-mini-points span {
        font-size: 11px;
    }

}


/* ---------------------------------------------------------
   Mobile
   ลดรายละเอียดเพื่อไม่ให้ Hero กินพื้นที่มากเกินไป
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .hero-stage-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(248, 250, 247, .97) 0%,
                rgba(248, 250, 247, .88) 48%,
                rgba(248, 250, 247, .28) 72%,
                rgba(248, 250, 247, 0) 100%
            );
    }


    .hero-stage-container {
        align-items: center;
    }


    .hero-copy-panel {
        width: 58%;
        max-width: none;
    }


    /* ซ่อนชื่อด้านบนเพื่อลดความแน่นบนมือถือ */
    .hero-org-name {
        display: none;
    }


    .hero-main-title {
        margin-bottom: 8px;

        font-size: clamp(19px, 5vw, 28px);

        line-height: 1.18;
    }


    .hero-subtext {
        display: -webkit-box;

        overflow: hidden;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        margin-bottom: 10px;

        font-size: 11px;

        line-height: 1.5;
    }


    .hero-actions {
        gap: 6px;
    }


    .hero-actions .btn {
        padding: 7px 10px;

        font-size: 10px;
    }


    .hero-mini-points {
        display: none;
    }

}


/* ---------------------------------------------------------
   Small Mobile
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .hero-copy-panel {
        width: 61%;
    }


    .hero-main-title {
        font-size: 18px;
    }


    .hero-subtext {
        font-size: 10px;
    }


    .hero-actions .btn {
        padding: 6px 8px;

        font-size: 9px;
    }

}


/* =========================================================
   V6 — CONTENT CONSISTENCY + FARM CAROUSEL
   ========================================================= */

/* ----- Knowledge + News: retain the same two-panel structure on all screens ----- */
.content-dual-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    align-items: stretch;
}

.content-module {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.content-module-head {
    min-height: 118px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.content-module-head > div {
    min-width: 0;
}

.content-module-head .section-title {
    font-size: clamp(25px, 2.45vw, 36px);
    line-height: 1.25;
    margin-bottom: 0;
}

.content-more-link {
    flex: 0 0 auto;
    margin-top: 34px;
}

.content-card-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
}

.fixed-content-card {
    height: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    overflow: hidden;
}

.fixed-content-card img {
    width: 100%;
    aspect-ratio: 1.55 / 1;
    object-fit: cover;
    flex: 0 0 auto;
}

.fixed-content-card .mini-content-body {
    flex: 1 1 auto;
    min-height: 118px;
    padding: 14px;
    display: flex;
    flex-direction: column;
}

.fixed-content-card .mini-content-body span {
    min-height: 18px;
}

.fixed-content-card .mini-content-body h3 {
    min-height: 66px;
    margin-top: 4px;
}

/* ----- Farm carousel ----- */
.farm-section-heading {
    margin-bottom: 18px;
}

.farm-carousel-shell {
    position: relative;
    margin-inline: -6px;
    padding-inline: 6px;
}

.farm-carousel-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 4px 1px 14px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.farm-carousel-track::-webkit-scrollbar {
    display: none;
}

.farm-carousel-card {
    flex: 0 0 clamp(210px, 21.5vw, 258px);
    scroll-snap-align: start;
}

.farm-carousel-card.farm-card-soft {
    min-height: 386px;
}

.farm-carousel-card .farm-card-image img {
    aspect-ratio: 16 / 10;
}

.farm-carousel-card .card-body-custom {
    min-height: 184px;
    padding: 18px;
}

.farm-carousel-card h3 {
    min-height: 48px;
    font-size: 18px;
    margin-bottom: 6px;
}

.farm-carousel-card .farm-card-desc {
    min-height: 54px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.65;
}

.farm-carousel-card .farm-meta-soft {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 10px;
}

.farm-carousel-card .farm-logo-real {
    width: 44px;
    height: 44px;
    font-size: 11px;
}

.carousel-nav {
    position: absolute;
    z-index: 4;
    top: 50%;
    width: 46px;
    height: 46px;
    transform: translateY(-50%);
    border-radius: 50%;
    border: 1px solid rgba(45, 106, 79, .16);
    background: rgba(255,255,255,.96);
    color: #657a43;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    box-shadow: 0 9px 24px rgba(50, 72, 42, .12);
    transition: opacity .2s ease, transform .2s ease, background .2s ease;
}

.carousel-nav:hover:not(:disabled) {
    background: #f4f7ee;
    transform: translateY(-50%) scale(1.04);
}

.carousel-nav:disabled {
    opacity: 0;
    pointer-events: none;
}

.carousel-nav-prev {
    left: -19px;
}

.carousel-nav-next {
    right: -19px;
}

.farm-more-card {
    min-height: 386px;
    border-radius: 22px;
    padding: 28px 22px;
    background: linear-gradient(145deg, #f4f8ee, #fbf8ec);
    border: 1px dashed rgba(94, 119, 65, .28);
    color: #52663a;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.farm-more-card:hover {
    color: #40572c;
    border-style: solid;
    box-shadow: 0 12px 30px rgba(70, 83, 49, .08);
}

.farm-more-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    margin-bottom: 20px;
    background: rgba(255,255,255,.86);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #6e8546;
}

.farm-more-card strong {
    font-size: 19px;
    line-height: 1.45;
    margin-bottom: 8px;
}

.farm-more-card small {
    color: #798274;
    line-height: 1.65;
    margin-bottom: 22px;
}

.farm-more-action {
    font-size: 13px;
    font-weight: 800;
}

.carousel-scroll-hint {
    margin-top: 3px;
    color: #899181;
    font-size: 11px;
    text-align: center;
}

/* Tablet: the two modules remain side by side; cards scale uniformly. */
@media (max-width: 991px) {
    .content-dual-grid {
        gap: 18px;
    }

    .content-module-head {
        min-height: 100px;
        gap: 8px;
    }

    .content-module-head .section-title {
        font-size: clamp(21px, 3vw, 28px);
    }

    .content-more-link {
        padding: 8px 11px;
        font-size: 11px;
        margin-top: 31px;
    }

    .content-card-track {
        gap: 9px;
    }

    .fixed-content-card .mini-content-body {
        min-height: 106px;
        padding: 11px;
    }

    .fixed-content-card .mini-content-body h3 {
        font-size: 12px;
        min-height: 58px;
    }

    .farm-carousel-card {
        flex-basis: clamp(200px, 30vw, 230px);
    }

    .carousel-nav-prev { left: -8px; }
    .carousel-nav-next { right: -8px; }
}

/* Mobile: keep Knowledge and News as two equal columns.
   Cards do not reorder; only typography/images scale down. */
@media (max-width: 767px) {
    .content-dual-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 10px;
    }

    .content-module-head {
        min-height: 92px;
        display: block;
        margin-bottom: 10px;
    }

    .content-module-head .eyebrow {
        font-size: 9px;
        padding: 5px 8px;
        margin-bottom: 8px;
    }

    .content-module-head .section-title {
        font-size: clamp(16px, 4.6vw, 22px);
        line-height: 1.25;
        min-height: 54px;
    }

    .content-more-link {
        display: none;
    }

    .content-card-track {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
    }

    .fixed-content-card {
        border-radius: 12px;
    }

    .fixed-content-card img {
        aspect-ratio: 1.35 / 1;
    }

    .fixed-content-card .mini-content-body {
        min-height: 86px;
        padding: 7px;
    }

    .fixed-content-card .mini-content-body span {
        font-size: 7px;
        min-height: 12px;
    }

    .fixed-content-card .mini-content-body h3 {
        font-size: clamp(8px, 2.4vw, 10px);
        line-height: 1.45;
        min-height: 48px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .farm-carousel-card {
        flex-basis: clamp(178px, 57vw, 205px);
    }

    .farm-carousel-card.farm-card-soft,
    .farm-more-card {
        min-height: 340px;
    }

    .farm-carousel-card .card-body-custom {
        min-height: 164px;
        padding: 15px;
    }

    .farm-carousel-card h3 {
        min-height: 42px;
        font-size: 16px;
    }

    .farm-carousel-card .farm-card-desc {
        min-height: 48px;
        font-size: 11px;
    }

    .carousel-nav {
        display: none;
    }
}

@media (max-width: 420px) {
    .content-dual-grid {
        gap: 7px;
    }

    .content-card-track {
        gap: 4px;
    }

    .fixed-content-card .mini-content-body {
        padding: 6px;
    }

    .farm-carousel-card {
        flex-basis: 174px;
    }
}


/* =========================================================
   V7 — TIGHTER RHYTHM + MARKET PRODUCT CARDS
   ========================================================= */

/* Hero -> first content: ให้มีช่องว่างหายใจมากขึ้นเล็กน้อย */
.home-quick-section {
    padding-top: 28px !important;
    padding-bottom: 18px !important;
}

/* Section rhythm ไม่ให้ห่างเกินไป */
.home-farms-section,
.home-products-section,
.home-content-section {
    padding-top: 46px;
    padding-bottom: 46px;
}

/* ---------------------------------------------------------
   Farm carousel: ลดความสูงและช่องว่างภายใน Card
   --------------------------------------------------------- */
.farm-section-heading {
    margin-bottom: 14px;
}

.farm-section-heading .section-title {
    margin-bottom: 7px;
    line-height: 1.12;
}

.farm-section-heading .section-description {
    line-height: 1.55;
    margin-bottom: 0;
}

.farm-carousel-track {
    gap: 14px;
    padding-bottom: 10px;
}

.farm-carousel-card {
    flex: 0 0 clamp(205px, 20.8vw, 246px);
}

.farm-carousel-card.farm-card-soft {
    min-height: 0;
}

.farm-carousel-card .farm-card-image img {
    aspect-ratio: 16 / 9;
}

.farm-carousel-card .card-body-custom {
    min-height: 0 !important;
    padding: 14px 16px 15px;
}

.farm-carousel-card h3 {
    min-height: 0 !important;
    margin: 0 0 7px;
    font-size: 17px;
    line-height: 1.25;
}

.farm-carousel-card .farm-card-desc {
    min-height: 0 !important;
    margin: 0 0 9px;
    font-size: 11.5px;
    line-height: 1.5;
    -webkit-line-clamp: 2;
}

.farm-carousel-card .farm-meta-soft {
    margin: 0 0 8px;
    font-size: 10.5px;
    line-height: 1.35;
}

.farm-carousel-card .subtle-card-link {
    font-size: 11.5px;
    line-height: 1.2;
}

.farm-carousel-card .farm-logo-real {
    width: 40px;
    height: 40px;
    font-size: 10px;
}

.farm-more-card {
    min-height: 318px;
}

/* ---------------------------------------------------------
   Product showcase: market-style image cards
   --------------------------------------------------------- */
.product-section-heading {
    margin-bottom: 18px;
}

.product-section-heading .section-title {
    margin-bottom: 7px;
    line-height: 1.12;
}

.product-section-heading .section-description {
    margin-bottom: 0;
    line-height: 1.55;
}

.product-showcase-shell {
    position: relative;
    margin-inline: -5px;
    padding-inline: 5px;
}

.product-showcase-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 2px 0 10px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.product-showcase-track::-webkit-scrollbar {
    display: none;
}

.market-product-card {
    position: relative;
    flex: 0 0 clamp(164px, 15.7vw, 195px);
    aspect-ratio: 0.64 / 1;
    min-height: 0;
    overflow: hidden;
    border-radius: 13px;
    background: #e8ede4;
    scroll-snap-align: start;
    box-shadow: 0 8px 20px rgba(44, 62, 39, .08);
    color: #fff;
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease;
}

.market-product-card:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 13px 26px rgba(44, 62, 39, .13);
}

.market-product-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    z-index: -2;
}

.market-product-card:hover > img {
    transform: scale(1.035);
}

/* ไล่ดำจากด้านล่างขึ้นด้านบนเหมือนการ์ด Marketplace */
.market-product-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.00) 28%,
            rgba(0,0,0,0.06) 45%,
            rgba(0,0,0,0.50) 69%,
            rgba(0,0,0,0.88) 100%
        );
}

.market-product-index {
    position: absolute;
    top: 8px;
    left: 8px;
    min-width: 23px;
    height: 23px;
    padding-inline: 6px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.92);
    color: #5c7251;
    font-size: 10px;
    font-weight: 800;
}

.market-product-source {
    position: absolute;
    top: 8px;
    right: 8px;
    max-width: calc(100% - 45px);
    padding: 5px 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 8px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
}

.market-product-source.from-farm {
    background: rgba(67, 111, 56, .93);
}

.market-product-source.from-community {
    background: rgba(137, 106, 53, .93);
}

.market-product-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 44px 12px 12px;
    color: #fff;
}

.market-product-category {
    display: block;
    margin-bottom: 4px;
    color: rgba(255,255,255,.82);
    font-size: 9px;
    font-weight: 700;
}

.market-product-content h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.market-product-meta {
    display: grid;
    gap: 3px;
}

.market-product-meta strong {
    color: #fff;
    font-size: 12px;
    line-height: 1.25;
}

.market-product-meta span {
    display: block;
    color: rgba(255,255,255,.75);
    font-size: 8.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-carousel-prev {
    left: -18px;
}

.product-carousel-next {
    right: -18px;
}

/* Tablet */
@media (max-width: 991px) {
    .home-quick-section {
        padding-top: 24px !important;
    }

    .home-farms-section,
    .home-products-section,
    .home-content-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .farm-carousel-card {
        flex-basis: clamp(190px, 27vw, 220px);
    }

    .market-product-card {
        flex-basis: clamp(150px, 21vw, 180px);
    }

    .product-carousel-prev { left: -8px; }
    .product-carousel-next { right: -8px; }
}

/* Mobile */
@media (max-width: 767px) {
    .home-quick-section {
        padding-top: 20px !important;
    }

    .home-farms-section,
    .home-products-section,
    .home-content-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .farm-section-heading,
    .product-section-heading {
        margin-bottom: 12px;
    }

    .farm-section-heading .section-title,
    .product-section-heading .section-title {
        margin-bottom: 5px;
    }

    .farm-carousel-card {
        flex-basis: clamp(170px, 53vw, 192px);
    }

    .farm-carousel-card .card-body-custom {
        padding: 12px 13px 13px;
    }

    .farm-carousel-card h3 {
        font-size: 15px;
        margin-bottom: 5px;
    }

    .farm-carousel-card .farm-card-desc {
        font-size: 10.5px;
        line-height: 1.45;
        margin-bottom: 7px;
    }

    .farm-carousel-card .farm-meta-soft {
        font-size: 9.5px;
        margin-bottom: 7px;
    }

    .market-product-card {
        flex-basis: clamp(138px, 43vw, 160px);
        border-radius: 12px;
    }

    .market-product-content {
        padding: 36px 10px 10px;
    }

    .market-product-content h3 {
        font-size: 12px;
        margin-bottom: 6px;
    }

    .market-product-category {
        font-size: 8px;
    }

    .market-product-meta strong {
        font-size: 10.5px;
    }

    .market-product-meta span {
        font-size: 7.5px;
    }

    .product-carousel-prev,
    .product-carousel-next {
        display: none;
    }
}


/* =========================================================
   V8 FARM MARKET + PRODUCT GRID
   ========================================================= */


/* ---------------------------------------------------------
   Products
   คงรูปแบบ Card เดิม 8 ใบ / 2 แถว
   ลดระยะห่างภายในและ line-height เท่านั้น
   --------------------------------------------------------- */

.product-section-heading {
    margin-bottom: 18px;
}

.product-section-heading .section-title {
    margin-bottom: 5px;
    line-height: 1.08;
}

.product-section-heading .section-description {
    margin-bottom: 0;
    line-height: 1.45;
}

.product-grid-8 {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 18px;
}

.product-grid-8 > .col {
    display: flex;
}

.product-grid-card {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    border-radius: 20px;
}

.product-grid-card .product-card-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.product-grid-card .card-body-custom {
    flex: 1 1 auto;

    min-height: 0 !important;

    padding: 17px 18px 16px;
}

.product-grid-card .category-text {
    margin-bottom: 5px;

    font-size: 11px;
    line-height: 1.25;
}

.product-grid-card h3 {
    min-height: 0 !important;

    margin: 0 0 7px;

    font-size: 18px;
    line-height: 1.28;
}

.product-grid-card .product-card-desc {
    min-height: 0 !important;

    margin: 0 0 11px;

    font-size: 12px;
    line-height: 1.5;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product-grid-card .product-soft-footer {
    gap: 8px;
}

.product-grid-card .product-origin {
    line-height: 1.3;
}


/* ---------------------------------------------------------
   Farm section heading
   ลดช่องว่างระหว่างบรรทัด
   --------------------------------------------------------- */

.farm-section-heading {
    margin-bottom: 16px;
}

.farm-section-heading .eyebrow {
    margin-bottom: 8px;
}

.farm-section-heading .section-title {
    margin-bottom: 6px;

    line-height: 1.05;
}

.farm-section-heading .section-description {
    margin-bottom: 0;

    line-height: 1.4;
}


/* ---------------------------------------------------------
   Farm Marketplace Carousel
   --------------------------------------------------------- */

.farm-market-shell {
    position: relative;

    margin-inline: -5px;

    padding-inline: 5px;
}

.farm-market-track {
    display: flex;

    gap: 10px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    padding: 2px 0 10px;

    overscroll-behavior-x: contain;

    -webkit-overflow-scrolling: touch;
}

.farm-market-track::-webkit-scrollbar {
    display: none;
}


/* บน Desktop เห็นประมาณ 6 ใบ เหมือนภาพตัวอย่าง */
.farm-market-card {
    position: relative;

    flex: 0 0 clamp(172px, 16.15vw, 198px);

    aspect-ratio: 0.64 / 1;

    min-height: 0;

    overflow: hidden;

    border-radius: 12px;

    background: #e9eee5;

    scroll-snap-align: start;

    box-shadow:
        0 8px 22px rgba(45, 63, 40, .08);

    color: #fff;

    isolation: isolate;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.farm-market-card:hover {
    color: #fff;

    transform: translateY(-3px);

    box-shadow:
        0 13px 28px rgba(45, 63, 40, .14);
}


/* ภาพเต็ม Card */
.farm-market-card > img {
    position: absolute;

    inset: 0;

    z-index: -2;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .35s ease;
}

.farm-market-card:hover > img {
    transform: scale(1.04);
}


/* ไล่สีดำจากด้านล่างขึ้น */
.farm-market-gradient {
    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .00) 26%,
            rgba(0, 0, 0, .06) 42%,
            rgba(0, 0, 0, .48) 68%,
            rgba(0, 0, 0, .88) 100%
        );
}


/* หมายเลข */
.farm-market-index {
    position: absolute;

    top: 8px;
    left: 8px;

    min-width: 24px;
    height: 24px;

    padding-inline: 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 5px;

    background: rgba(255, 255, 255, .94);

    color: #55704e;

    font-size: 10px;
    font-weight: 800;
}


/* Logo ย่อ */
.farm-market-logo {
    position: absolute;

    top: 8px;
    right: 8px;

    min-width: 31px;
    height: 24px;

    padding-inline: 7px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background: rgba(255, 255, 255, .92);

    color: #55704e;

    font-size: 9px;
    font-weight: 800;

    box-shadow:
        0 4px 10px rgba(0, 0, 0, .06);
}


/* Content ด้านล่าง */
.farm-market-content {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 48px 12px 13px;

    color: #fff;
}

.farm-market-location {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, .78);

    font-size: 8.5px;
    line-height: 1.25;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.farm-market-content h3 {
    margin: 0 0 5px;

    color: #fff;

    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}

.farm-market-content p {
    margin: 0 0 8px;

    color: rgba(255, 255, 255, .80);

    font-size: 9px;
    line-height: 1.4;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}

.farm-market-action {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    color: #fff;

    font-size: 9.5px;
    font-weight: 700;
}


/* ดูเพิ่มเติม */
.farm-market-more {
    background:
        linear-gradient(
            150deg,
            #e9f2e5 0%,
            #dbe8d5 58%,
            #c6dbc0 100%
        );

    color: #3f603b;

    border:
        1px solid rgba(72, 101, 62, .10);
}

.farm-market-more:hover {
    color: #3f603b;
}

.farm-market-more-inner {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 22px;

    text-align: center;
}

.farm-market-more-icon {
    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .72);

    color: #52754c;

    font-size: 21px;
}

.farm-market-more strong {
    color: #405f3e;

    font-size: 15px;
    line-height: 1.35;
}

.farm-market-more small {
    color: #71826e;

    font-size: 9.5px;
    line-height: 1.45;
}

.farm-market-more .farm-market-action {
    color: #52754c;
}


/* ลูกศร */
.farm-market-prev {
    left: -18px;
}

.farm-market-next {
    right: -18px;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .product-grid-8 {
        --bs-gutter-x: 16px;
        --bs-gutter-y: 16px;
    }

    .farm-market-card {
        flex-basis: clamp(158px, 22vw, 184px);
    }

    .farm-market-prev {
        left: -8px;
    }

    .farm-market-next {
        right: -8px;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .product-section-heading {
        margin-bottom: 14px;
    }

    .product-section-heading .section-title {
        line-height: 1.08;
    }

    .product-grid-8 {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 12px;
    }

    .product-grid-card .card-body-custom {
        padding: 14px;
    }

    .product-grid-card h3 {
        font-size: 16px;

        margin-bottom: 5px;
    }

    .product-grid-card .product-card-desc {
        font-size: 11px;
        line-height: 1.4;

        margin-bottom: 8px;
    }


    .farm-section-heading {
        margin-bottom: 12px;
    }

    .farm-section-heading .eyebrow {
        margin-bottom: 6px;
    }

    .farm-section-heading .section-title {
        line-height: 1.08;

        margin-bottom: 4px;
    }

    .farm-section-heading .section-description {
        line-height: 1.35;
    }

    .farm-market-card {
        flex-basis: clamp(142px, 43vw, 162px);

        border-radius: 11px;
    }

    .farm-market-content {
        padding: 38px 10px 10px;
    }

    .farm-market-content h3 {
        font-size: 12px;
    }

    .farm-market-content p {
        font-size: 8px;
    }

    .farm-market-location,
    .farm-market-action {
        font-size: 7.5px;
    }

    .farm-market-prev,
    .farm-market-next {
        display: none;
    }

}


/* ---------------------------------------------------------
   Small Mobile
   ยังแสดง 1.8-2 card ให้รู้ว่าสามารถเลื่อนได้
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .farm-market-card {
        flex-basis: 46vw;
    }

}


/* =========================================================
   HERO RESPONSIVE V5
   ภาพ Hero ย่อ-ขยายตามความกว้างหน้าจอจริง
   ไม่บังคับความสูงคงที่
   ========================================================= */

.hero-immersive {
    width: 100%;
    padding: 0;
    margin: 0;
    background: #f6f8f4;
}


/* ความสูงของ Hero จะเกิดจากสัดส่วนของรูปจริง */
.hero-stage {
    position: relative;
    width: 100%;
    min-height: 0 !important;
    overflow: hidden;
    background: #eef3ed;
}


/* จุดสำคัญ:
   width 100% + height auto
   ทำให้รูปย่อตามหน้าจอโดยไม่ Crop */
.hero-stage-image {
    position: relative !important;
    inset: auto !important;

    display: block;

    width: 100%;
    height: auto !important;
    min-height: 0 !important;

    object-fit: contain !important;
}


/* Overlay อยู่ทับบนภาพ */
.hero-stage-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(247, 250, 247, .97) 0%,
            rgba(247, 250, 247, .90) 25%,
            rgba(247, 250, 247, .60) 42%,
            rgba(247, 250, 247, .15) 62%,
            rgba(247, 250, 247, 0) 78%
        );

    pointer-events: none;
}


/* ข้อความซ้อนทับรูป
   สูงเท่ากับภาพโดยอัตโนมัติ */
.hero-stage-container {
    position: absolute;
    inset: 0;

    z-index: 2;

    min-height: 0 !important;

    display: flex;
    align-items: center;
}


/* พื้นที่ข้อความ */
.hero-copy-panel {
    width: 46%;
    max-width: 600px;
    padding: 0;
}


/* ชื่อวิสาหกิจด้านบน */
.hero-org-name {
    display: inline-flex;

    padding: 7px 13px;

    margin-bottom: 12px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .72);

    backdrop-filter: blur(8px);

    color: #4f714e;

    font-size: 13px;
    font-weight: 600;
}


/* หัวข้อหลัก */
.hero-main-title {
    margin: 0 0 12px;

    color: #174f3b;

    font-size: clamp(30px, 3.4vw, 54px);

    font-weight: 800;

    line-height: 1.18;
}


/* คำอธิบาย */
.hero-subtext {
    max-width: 540px;

    margin-bottom: 20px;

    color: #53685d;

    font-size: clamp(14px, 1.15vw, 17px);

    line-height: 1.75;
}


/* CTA */
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}


/* จุดเด่นด้านล่าง */
.hero-mini-points {
    display: flex;

    flex-wrap: wrap;

    gap: 10px 18px;

    margin-top: 18px;
}


.hero-mini-points span {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #4e6357;

    font-size: 13px;

    font-weight: 600;
}


.hero-mini-points i {
    color: #4f7b50;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .hero-copy-panel {
        width: 53%;
    }


    .hero-main-title {
        font-size: clamp(27px, 4vw, 40px);
    }


    .hero-subtext {
        font-size: 14px;

        line-height: 1.6;

        margin-bottom: 14px;
    }


    .hero-actions .btn {
        padding: 10px 16px;

        font-size: 13px;
    }


    .hero-mini-points {
        margin-top: 12px;

        gap: 8px 12px;
    }


    .hero-mini-points span {
        font-size: 11px;
    }

}


/* ---------------------------------------------------------
   Mobile
   ลดรายละเอียดเพื่อไม่ให้ Hero กินพื้นที่มากเกินไป
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .hero-stage-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(248, 250, 247, .97) 0%,
                rgba(248, 250, 247, .88) 48%,
                rgba(248, 250, 247, .28) 72%,
                rgba(248, 250, 247, 0) 100%
            );
    }


    .hero-stage-container {
        align-items: center;
    }


    .hero-copy-panel {
        width: 58%;
        max-width: none;
    }


    /* ซ่อนชื่อด้านบนเพื่อลดความแน่นบนมือถือ */
    .hero-org-name {
        display: none;
    }


    .hero-main-title {
        margin-bottom: 8px;

        font-size: clamp(19px, 5vw, 28px);

        line-height: 1.18;
    }


    .hero-subtext {
        display: -webkit-box;

        overflow: hidden;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        margin-bottom: 10px;

        font-size: 11px;

        line-height: 1.5;
    }


    .hero-actions {
        gap: 6px;
    }


    .hero-actions .btn {
        padding: 7px 10px;

        font-size: 10px;
    }


    .hero-mini-points {
        display: none;
    }

}


/* ---------------------------------------------------------
   Small Mobile
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .hero-copy-panel {
        width: 61%;
    }


    .hero-main-title {
        font-size: 18px;
    }


    .hero-subtext {
        font-size: 10px;
    }


    .hero-actions .btn {
        padding: 6px 8px;

        font-size: 9px;
    }

}


/* =========================================================
   V9 PRODUCTS FIRST
   - Product = Image + dark gradient carousel
   - Farm = normal 8-card grid
   ========================================================= */


/* ---------------------------------------------------------
   Product Section Heading
   --------------------------------------------------------- */

.product-market-heading {
    margin-bottom: 16px;
}

.product-market-heading .eyebrow {
    margin-bottom: 7px;
}

.product-market-heading .section-title {
    margin-bottom: 5px;
    line-height: 1.06;
}

.product-market-heading .section-description {
    margin-bottom: 0;
    line-height: 1.4;
}


/* ---------------------------------------------------------
   Product Marketplace Carousel
   --------------------------------------------------------- */

.product-market-shell {
    position: relative;

    margin-inline: -5px;

    padding-inline: 5px;
}

.product-market-track {
    display: flex;

    gap: 10px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    padding: 2px 0 10px;

    overscroll-behavior-x: contain;

    -webkit-overflow-scrolling: touch;
}

.product-market-track::-webkit-scrollbar {
    display: none;
}


.product-market-card {
    position: relative;

    flex: 0 0 clamp(172px, 16.15vw, 198px);

    aspect-ratio: 0.64 / 1;

    overflow: hidden;

    border-radius: 12px;

    background: #e8eee5;

    scroll-snap-align: start;

    color: #fff;

    isolation: isolate;

    box-shadow:
        0 8px 22px rgba(45, 63, 40, .08);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.product-market-card:hover {
    color: #fff;

    transform: translateY(-3px);

    box-shadow:
        0 13px 28px rgba(45, 63, 40, .14);
}


.product-market-card > img {
    position: absolute;

    inset: 0;

    z-index: -2;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .35s ease;
}

.product-market-card:hover > img {
    transform: scale(1.04);
}


.product-market-gradient {
    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .00) 25%,
            rgba(0, 0, 0, .04) 38%,
            rgba(0, 0, 0, .40) 62%,
            rgba(0, 0, 0, .88) 100%
        );
}


.product-market-index {
    position: absolute;

    top: 8px;
    left: 8px;

    min-width: 24px;
    height: 24px;

    padding-inline: 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 5px;

    background: rgba(255, 255, 255, .94);

    color: #536c50;

    font-size: 10px;
    font-weight: 800;
}


.product-market-source {
    position: absolute;

    top: 8px;
    right: 8px;

    padding: 5px 8px;

    border-radius: 999px;

    color: #fff;

    font-size: 8px;
    font-weight: 800;

    box-shadow:
        0 5px 12px rgba(0, 0, 0, .10);
}


.product-market-source.source-farm {
    background: rgba(70, 111, 60, .92);
}

.product-market-source.source-community {
    background: rgba(146, 107, 48, .92);
}


.product-market-content {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 55px 12px 12px;

    color: #fff;
}


.product-market-category {
    display: block;

    margin-bottom: 4px;

    color: rgba(255, 255, 255, .76);

    font-size: 8px;
    font-weight: 700;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.product-market-content h3 {
    margin: 0 0 5px;

    color: #fff;

    font-size: 14px;
    line-height: 1.28;
    font-weight: 700;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}


.product-market-content p {
    margin: 0 0 7px;

    color: rgba(255, 255, 255, .78);

    font-size: 8.5px;
    line-height: 1.38;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}


.product-market-price {
    display: block;
    margin: 0 0 7px;
    color: #fff;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .22);
}

.product-market-bottom {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 8px;
}


.product-market-origin {
    min-width: 0;

    color: rgba(255, 255, 255, .72);

    font-size: 7.5px;
    line-height: 1.3;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.product-market-action {
    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;

    gap: 4px;

    color: #fff;

    font-size: 8px;
    font-weight: 700;
}


/* Product more card */

.product-market-more {
    background:
        linear-gradient(
            150deg,
            #e9f2e5 0%,
            #dbe8d5 58%,
            #c6dbc0 100%
        );

    color: #3f603b;

    border:
        1px solid rgba(72, 101, 62, .10);
}

.product-market-more:hover {
    color: #3f603b;
}

.product-market-more-inner {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 22px;

    text-align: center;
}

.product-market-more-icon {
    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .72);

    color: #52754c;

    font-size: 21px;
}

.product-market-more strong {
    color: #405f3e;

    font-size: 15px;
    line-height: 1.35;
}

.product-market-more small {
    color: #71826e;

    font-size: 9.5px;
    line-height: 1.45;
}

.product-market-more .product-market-action {
    color: #52754c;
}


.product-market-prev {
    left: -18px;
}

.product-market-next {
    right: -18px;
}


/* ---------------------------------------------------------
   Farm normal grid
   --------------------------------------------------------- */

.farm-grid-heading {
    margin-bottom: 17px;
}

.farm-grid-heading .eyebrow {
    margin-bottom: 7px;
}

.farm-grid-heading .section-title {
    margin-bottom: 5px;

    line-height: 1.06;
}

.farm-grid-heading .section-description {
    margin-bottom: 0;

    line-height: 1.4;
}


.farm-grid-8 {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 18px;
}


.farm-grid-8 > .col {
    display: flex;
}


.farm-grid-card {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    border-radius: 20px;
}


.farm-grid-card .farm-card-image img {
    width: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;
}


.farm-grid-card .card-body-custom {
    flex: 1 1 auto;

    min-height: 0 !important;

    padding: 16px 18px 15px;
}


.farm-grid-card h3 {
    min-height: 0 !important;

    margin: 0 0 6px;

    font-size: 18px;
    line-height: 1.28;
}


.farm-grid-card .farm-card-desc {
    min-height: 0 !important;

    margin: 0 0 9px;

    font-size: 11.5px;
    line-height: 1.45;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}


.farm-grid-card .farm-meta-soft {
    margin-bottom: 8px;

    font-size: 10px;
    line-height: 1.3;
}


.farm-grid-card .subtle-card-link {
    font-size: 10.5px;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .product-market-card {
        flex-basis: clamp(158px, 22vw, 184px);
    }

    .product-market-prev {
        left: -8px;
    }

    .product-market-next {
        right: -8px;
    }


    .farm-grid-8 {
        --bs-gutter-x: 16px;
        --bs-gutter-y: 16px;
    }

}


@media (max-width: 767px) {

    .product-market-heading,
    .farm-grid-heading {
        margin-bottom: 12px;
    }

    .product-market-heading .section-title,
    .farm-grid-heading .section-title {
        line-height: 1.08;
    }


    .product-market-card {
        flex-basis: clamp(142px, 43vw, 162px);

        border-radius: 11px;
    }

    .product-market-content {
        padding: 40px 10px 10px;
    }

    .product-market-content h3 {
        font-size: 12px;
    }

    .product-market-content p {
        font-size: 8px;
    }

    .product-market-prev,
    .product-market-next {
        display: none;
    }


    .farm-grid-8 {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 12px;
    }

    .farm-grid-card .card-body-custom {
        padding: 14px;
    }

    .farm-grid-card h3 {
        font-size: 16px;
    }

    .farm-grid-card .farm-card-desc {
        font-size: 11px;
    }

}


@media (max-width: 480px) {

    .product-market-card {
        flex-basis: 46vw;
    }

}


/* =========================================================
   V10 CAROUSEL FIX
   ========================================================= */


/* Track ต้องรับ touch gesture แนวนอน */
.product-market-track {
    touch-action: pan-x pinch-zoom;

    cursor: grab;

    scroll-padding-inline:
        6px;

    user-select: none;
}


.product-market-track:active {
    cursor: grabbing;
}


/* รูปไม่ถูกลากเป็น ghost image บน desktop */
.product-market-card img {
    pointer-events: none;

    user-select: none;

    -webkit-user-drag: none;
}


/* ปุ่มต้องอยู่เหนือ Card แน่นอน */
.product-market-shell .carousel-nav {
    z-index: 30;

    pointer-events: auto;

    cursor: pointer;

    touch-action: manipulation;
}


/* ขยาย click area เล็กน้อย */
.product-market-prev,
.product-market-next {
    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, .97);

    border:
        1px solid rgba(82, 111, 73, .18);

    box-shadow:
        0 8px 22px rgba(43, 65, 41, .12);
}


.product-market-prev:hover,
.product-market-next:hover {
    background: #ffffff;

    color: #356442;

    border-color:
        rgba(82, 111, 73, .30);
}


/* เมื่ออยู่สุดซ้าย / ขวา */
.product-market-shell
.carousel-nav:disabled {
    opacity: .30;

    cursor: default;

    pointer-events: none;
}


/* ป้องกัน container ตัดปุ่ม */
.product-market-shell {
    overflow: visible;
}


/* Desktop มี padding เล็กน้อยให้ปุ่มไม่ทับสินค้า */
@media (min-width: 768px) {

    .product-market-shell {
        padding-inline:
            9px;
    }

}


/* Mobile:
   ซ่อนปุ่ม แต่ swipe ได้เต็มรูปแบบ */
@media (max-width: 767px) {

    .product-market-prev,
    .product-market-next {
        display: none !important;
    }


    .product-market-track {
        overflow-x: auto;

        scroll-snap-type:
            x proximity;

        touch-action:
            pan-x;

        padding-bottom:
            10px;
    }


    .product-market-card {
        scroll-snap-align:
            start;
    }

}


/* =========================================================
   V11 MOBILE LAYOUT REFINEMENTS
   ========================================================= */

/* ---------------------------------------------------------
   QUICK INFO: mobile shows only headings
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .home-quick-section .row {
        --bs-gutter-y: 10px;
    }

    .home-quick-section .soft-feature-card {
        min-height: 0;
        padding: 15px 16px;
        border-radius: 18px;
        align-items: center;
    }

    .home-quick-section .soft-feature-copy {
        flex: 1;
    }

    .home-quick-section .feature-label {
        font-size: 10px;
        margin-bottom: 2px;
        display: block;
    }

    .home-quick-section .soft-feature-card h2 {
        min-height: 0;
        margin: 3px 0 0;
        font-size: 17px;
        line-height: 1.35;
    }

    .home-quick-section .quick-detail,
    .home-quick-section .quick-link {
        display: none !important;
    }

    .home-quick-section .soft-feature-icon {
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 14px;
        font-size: 18px;
        margin-left: 8px;
    }

    .home-quick-section .soft-feature-card::after {
        width: 90px;
        height: 90px;
        right: -34px;
        bottom: -34px;
    }

}


/* ---------------------------------------------------------
   PRODUCTS: mobile viewport shows 4 cards at once
   Remaining cards swipe horizontally.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .product-market-track-mobile-4 {
        gap: 6px;
        scroll-snap-type: x proximity;
        padding-bottom: 8px;
    }

    .product-market-track-mobile-4 .product-market-card {
        /*
         * 4 cards visible in mobile viewport:
         * container width minus gaps, divided by 4.
         */
        flex: 0 0 calc((100% - 18px) / 4);
        min-width: 0;
        aspect-ratio: 0.62 / 1;
        border-radius: 8px;
    }

    .product-market-track-mobile-4 .product-market-index {
        top: 5px;
        left: 5px;
        min-width: 18px;
        height: 18px;
        padding-inline: 4px;
        font-size: 8px;
        border-radius: 4px;
    }

    .product-market-track-mobile-4 .product-market-source {
        top: 5px;
        right: 5px;
        max-width: calc(100% - 32px);
        padding: 4px 5px;
        font-size: 6.8px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .product-market-track-mobile-4 .product-market-content {
        padding: 26px 6px 6px;
    }

    .product-market-track-mobile-4 .product-market-category {
        margin-bottom: 2px;
        font-size: 6px;
    }

    .product-market-track-mobile-4 .product-market-content h3 {
        margin-bottom: 2px;
        font-size: 8.5px;
        line-height: 1.22;
        -webkit-line-clamp: 2;
    }

    .product-market-track-mobile-4 .product-market-content p {
        display: none;
    }

    .product-market-track-mobile-4 .product-market-bottom {
        display: block;
    }

    .product-market-track-mobile-4 .product-market-origin {
        display: none;
    }

    .product-market-track-mobile-4 .product-market-action {
        font-size: 6.5px;
        gap: 2px;
    }

}

@media (max-width: 420px) {

    .product-market-track-mobile-4 .product-market-card {
        flex-basis: calc((100% - 15px) / 4);
    }

    .product-market-track-mobile-4 .product-market-content h3 {
        font-size: 8px;
    }

}


/* ---------------------------------------------------------
   FARM CARDS: mobile = image left / information right
   compact row, no tall vertical cards
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .farm-grid-8 {
        --bs-gutter-y: 10px;
    }

    .farm-grid-8 > .col {
        width: 100%;
        flex: 0 0 100%;
    }

    .farm-grid-card-responsive {
        display: grid !important;
        grid-template-columns: 36% 64%;
        min-height: 118px;
        max-height: 138px;
        overflow: hidden;
        border-radius: 16px;
    }

    .farm-grid-card-responsive .farm-card-image {
        height: 100%;
        min-height: 118px;
    }

    .farm-grid-card-responsive .farm-card-image img {
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
        object-fit: cover;
    }

    .farm-grid-card-responsive .farm-logo-real {
        left: 8px;
        bottom: 8px;
        width: 34px;
        height: 34px;
        font-size: 9px;
        border-radius: 50%;
    }

    .farm-grid-card-responsive .card-body-custom {
        min-width: 0;
        padding: 12px 13px 10px;
        display: flex !important;
        flex-direction: column;
    }

    .farm-grid-card-responsive h3 {
        margin: 0 0 4px;
        font-size: 15px;
        line-height: 1.25;
    }

    .farm-grid-card-responsive .farm-card-desc {
        margin: 0 0 5px;
        font-size: 10px;
        line-height: 1.35;
        -webkit-line-clamp: 2;
    }

    .farm-grid-card-responsive .farm-meta-soft {
        margin: 0 0 4px;
        font-size: 8.5px;
        line-height: 1.3;
    }

    .farm-grid-card-responsive .subtle-card-link {
        font-size: 9px;
        line-height: 1;
    }

}


/* ---------------------------------------------------------
   KNOWLEDGE / NEWS:
   Mobile separates them into their own rows/blocks.
   Each block scrolls horizontally if needed.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .home-content-section > .container > .row {
        --bs-gutter-y: 28px;
    }

    .knowledge-column,
    .news-column {
        width: 100%;
        flex: 0 0 100%;
    }

    .knowledge-column .section-head-row.compact,
    .news-column .section-head-row.compact {
        margin-bottom: 12px;
    }

    .knowledge-column .section-title,
    .news-column .section-title {
        font-size: 24px;
        line-height: 1.15;
    }

    .knowledge-mobile-row,
    .news-mobile-row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 10px;
        margin-inline: 0;
        padding: 0 0 8px;

        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
    }

    .knowledge-mobile-row::-webkit-scrollbar,
    .news-mobile-row::-webkit-scrollbar {
        display: none;
    }

    .knowledge-mobile-row > .col-md-4,
    .news-mobile-row > .col-md-4 {
        flex: 0 0 31%;
        width: 31%;
        padding-left: 0;
        padding-right: 0;
        scroll-snap-align: start;
    }

    .knowledge-mobile-row .mini-content-card,
    .news-mobile-row .mini-content-card {
        min-height: 155px;
        border-radius: 12px;
    }

    .knowledge-mobile-row .mini-content-card img,
    .news-mobile-row .mini-content-card img {
        aspect-ratio: 4 / 2.4;
    }

    .knowledge-mobile-row .mini-content-card > div,
    .news-mobile-row .mini-content-card > div {
        min-height: 78px;
        padding: 9px;
    }

    .knowledge-mobile-row .mini-content-card span,
    .news-mobile-row .mini-content-card span {
        font-size: 8px;
        margin-bottom: 4px;
    }

    .knowledge-mobile-row .mini-content-card h3,
    .news-mobile-row .mini-content-card h3 {
        min-height: 0;
        font-size: 10px;
        line-height: 1.35;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

}

@media (max-width: 420px) {

    .knowledge-mobile-row > .col-md-4,
    .news-mobile-row > .col-md-4 {
        flex-basis: 32%;
        width: 32%;
    }

}


/* =========================================================
   V12 REMOVE HOME QUICK
   ========================================================= */

/* Quick section is no longer rendered on homepage.
   Product section follows hero directly with balanced spacing. */

.hero-immersive + .home-products-section {
    padding-top: 38px;
}

@media (max-width: 767px) {
    .hero-immersive + .home-products-section {
        padding-top: 24px;
    }
}


/* =========================================================
   V13 MOBILE PRODUCT CARDS
   ปรับสินค้าให้เหมือนแพลตฟอร์ม e-commerce ทั่วไป
   - Card ใหญ่ขึ้น
   - เห็นประมาณ 2.2 ใบต่อหน้าจอ
   - ระยะห่างแคบลง
   - ปัดซ้าย/ขวาได้
   ========================================================= */

@media (max-width: 767px) {

    .product-market-track-mobile-4 {
        gap: 7px;
        padding: 2px 4px 9px;
        scroll-padding-inline: 4px;
    }

    .product-market-track-mobile-4 .product-market-card {
        /*
         * เห็นประมาณ 2.2 card ต่อหน้าจอ
         * ให้ผู้ใช้รู้ทันทีว่ายังมีรายการทางขวา
         */
        flex: 0 0 44%;
        min-width: 148px;
        max-width: 190px;

        aspect-ratio: 0.72 / 1;

        border-radius: 10px;

        box-shadow:
            0 6px 16px rgba(35, 52, 33, .10);
    }

    .product-market-track-mobile-4 .product-market-index {
        top: 7px;
        left: 7px;

        min-width: 22px;
        height: 22px;

        font-size: 9px;
    }

    .product-market-track-mobile-4 .product-market-source {
        top: 7px;
        right: 7px;

        max-width: 72%;

        padding: 5px 7px;

        font-size: 7.5px;
    }

    .product-market-track-mobile-4 .product-market-content {
        padding: 58px 10px 10px;
    }

    .product-market-track-mobile-4 .product-market-category {
        margin-bottom: 4px;

        font-size: 8px;
        line-height: 1.2;
    }

    .product-market-track-mobile-4 .product-market-content h3 {
        margin-bottom: 4px;

        font-size: 12px;
        line-height: 1.25;

        -webkit-line-clamp: 2;
    }

    .product-market-track-mobile-4 .product-market-content p {
        display: -webkit-box;

        margin-bottom: 6px;

        color: rgba(255,255,255,.76);

        font-size: 8.5px;
        line-height: 1.3;

        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        overflow: hidden;
    }

    .product-market-track-mobile-4 .product-market-bottom {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 5px;
    }

    .product-market-track-mobile-4 .product-market-origin {
        display: block;

        max-width: 68%;

        font-size: 7.5px;

        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .product-market-track-mobile-4 .product-market-action {
        font-size: 7.5px;
    }

    /*
     * ลดช่องว่างของหัวข้อ Section
     * ให้เข้ากับจังหวะแบบ marketplace
     */
    .product-market-heading {
        margin-bottom: 10px;
    }

    .product-market-heading .eyebrow {
        margin-bottom: 5px;
    }

    .product-market-heading .section-title {
        margin-bottom: 4px;

        font-size: 28px;
        line-height: 1.05;
    }

    .product-market-heading .section-description {
        font-size: 13px;
        line-height: 1.45;
    }

    .product-market-heading .section-more-link {
        padding: 8px 13px;
        font-size: 12px;
    }

}


/* Mobile เล็ก */
@media (max-width: 480px) {

    .product-market-track-mobile-4 {
        gap: 6px;
    }

    .product-market-track-mobile-4 .product-market-card {
        flex-basis: 46%;
        min-width: 142px;
    }

    .product-market-track-mobile-4 .product-market-content {
        padding: 54px 9px 9px;
    }

    .product-market-track-mobile-4 .product-market-content h3 {
        font-size: 11px;
    }

    .product-market-heading .section-title {
        font-size: 26px;
    }

}


/* จอเล็กมาก */
@media (max-width: 360px) {

    .product-market-track-mobile-4 .product-market-card {
        flex-basis: 48%;
        min-width: 132px;
    }

}


/* =========================================================
   V14 FARM VIEW ALL BUTTON
   ย้ายปุ่ม "ดูสวนสมาชิกทั้งหมด" ไว้ท้าย Section
   ========================================================= */

.farm-view-all-wrap {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.farm-view-all-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    padding: 8px 14px;

    border-radius: 999px;

    background: #ffffff;

    border: 1px solid rgba(91, 111, 70, .18);

    color: #667b48;

    font-size: 12px;
    font-weight: 700;

    box-shadow: 0 5px 14px rgba(58, 77, 51, .05);

    transition:
        background-color .2s ease,
        transform .2s ease,
        border-color .2s ease;
}

.farm-view-all-btn:hover {
    color: #526a3d;
    background: #f8faf5;
    border-color: rgba(91, 111, 70, .28);
    transform: translateY(-1px);
}


/* Mobile: เล็กลงอีกนิด และชิดกับการ์ดมากขึ้น */
@media (max-width: 767px) {

    .farm-view-all-wrap {
        margin-top: 12px;
    }

    .farm-view-all-btn {
        padding: 7px 12px;
        font-size: 11px;
    }

}


/* =========================================================
   V15 CONTENT MOBILE ROWS
   Mobile:
   - องค์ความรู้ = 1 แถวเต็มความกว้าง
   - ข่าว / กิจกรรม = 1 แถวเต็มความกว้าง
   - ไม่วาง 2 Section ข้างกัน
   ========================================================= */

@media (max-width: 767px) {

    .home-content-section {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    /* แยก 2 Module เป็นคนละแถว */
    .content-dual-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .content-module {
        width: 100%;
        min-width: 0;
    }

    /* หัวข้อแต่ละแถว */
    .content-module-head {
        min-height: 0 !important;
        margin-bottom: 12px !important;

        display: flex !important;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
    }

    .content-module-head > div {
        min-width: 0;
    }

    .content-module-head .eyebrow {
        margin-bottom: 7px;
        padding: 5px 9px;

        font-size: 10px;
    }

    .content-module-head .section-title {
        min-height: 0 !important;

        margin: 0;

        font-size: 23px;
        line-height: 1.12;
    }

    /* ปุ่มดูทั้งหมดกลับมาแสดง แต่ทำให้เล็ก */
    .content-more-link {
        display: inline-flex !important;

        flex: 0 0 auto;

        margin: 0 0 2px !important;

        padding: 7px 10px;

        font-size: 10px;
    }

    /*
     * การ์ดในแต่ละ Section เป็น 3 ใบเต็มความกว้าง
     * ทำให้อ่านง่ายกว่าการแบ่งครึ่งหน้าจอ
     */
    .content-card-track {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        gap: 8px !important;
    }

    .fixed-content-card {
        width: 100%;

        border-radius: 13px;
    }

    .fixed-content-card img {
        width: 100%;

        aspect-ratio: 1.45 / 1 !important;

        object-fit: cover;
    }

    .fixed-content-card .mini-content-body {
        min-height: 92px !important;

        padding: 9px !important;
    }

    .fixed-content-card .mini-content-body span {
        min-height: 0 !important;

        margin-bottom: 4px;

        font-size: 8px;
        line-height: 1.25;
    }

    .fixed-content-card .mini-content-body h3 {
        min-height: 0 !important;

        margin: 0;

        font-size: 10px !important;
        line-height: 1.38;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;

        overflow: hidden;
    }

}


/* จอมือถือเล็ก */
@media (max-width: 420px) {

    .content-dual-grid {
        gap: 26px !important;
    }

    .content-module-head .section-title {
        font-size: 21px;
    }

    .content-card-track {
        gap: 6px !important;
    }

    .fixed-content-card .mini-content-body {
        padding: 8px !important;
    }

    .fixed-content-card .mini-content-body h3 {
        font-size: 9.5px !important;
    }

}


/* =========================================================
   V16 MOBILE FARM GRID
   Mobile:
   - 2 cards per row
   - image on top
   - compact content
   - hide long description
   - international marketplace style
   ========================================================= */

@media (max-width: 767px) {

    .farm-grid-8 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .farm-grid-8 > .col {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        padding: 0 !important;
        display: block !important;
    }

    .farm-grid-card-responsive {
        display: flex !important;
        flex-direction: column !important;

        min-height: 0 !important;
        max-height: none !important;

        overflow: hidden;

        border-radius: 15px;

        background: #fff;

        border: 1px solid rgba(77, 104, 66, .10);

        box-shadow:
            0 7px 18px rgba(49, 67, 45, .07);
    }

    .farm-grid-card-responsive .farm-card-image {
        position: relative;

        width: 100%;
        height: auto !important;
        min-height: 0 !important;

        overflow: hidden;
    }

    .farm-grid-card-responsive .farm-card-image img {
        width: 100%;
        height: auto !important;

        aspect-ratio: 4 / 3 !important;

        object-fit: cover;
    }

    .farm-grid-card-responsive .farm-logo-real {
        left: 9px;
        bottom: 9px;

        width: 32px;
        height: 32px;

        font-size: 8.5px;

        border-radius: 50%;

        background: rgba(255,255,255,.96);

        box-shadow:
            0 5px 12px rgba(40, 58, 36, .10);
    }

    .farm-grid-card-responsive .card-body-custom {
        min-width: 0;

        padding: 11px 11px 10px;

        display: flex !important;
        flex-direction: column !important;
    }

    .farm-grid-card-responsive h3 {
        margin: 0 0 6px;

        font-size: 13px;
        line-height: 1.28;

        min-height: 34px !important;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        overflow: hidden;
    }

    /*
     * Mobile card does not show long farm description.
     * Users can read it on farm detail page.
     */
    .farm-grid-card-responsive .farm-card-desc {
        display: none !important;
    }

    .farm-grid-card-responsive .farm-meta-soft {
        margin: 0 0 7px;

        font-size: 8.5px;
        line-height: 1.35;

        color: #798374;
    }

    .farm-grid-card-responsive .farm-meta-soft span {
        display: flex;
        align-items: flex-start;
        gap: 3px;
    }

    .farm-grid-card-responsive .farm-meta-soft i {
        margin-top: 1px;
        flex: 0 0 auto;
    }

    .farm-grid-card-responsive .subtle-card-link {
        margin-top: auto !important;

        display: inline-flex;
        align-items: center;
        gap: 4px;

        font-size: 9.5px;
        line-height: 1.2;
    }

    .farm-view-all-wrap {
        margin-top: 14px;
    }

    .farm-view-all-btn {
        padding: 7px 12px;
        font-size: 10.5px;
    }

}


/* Small mobile */
@media (max-width: 420px) {

    .farm-grid-8 {
        gap: 8px !important;
    }

    .farm-grid-card-responsive {
        border-radius: 13px;
    }

    .farm-grid-card-responsive .card-body-custom {
        padding: 9px 9px 8px;
    }

    .farm-grid-card-responsive h3 {
        min-height: 31px !important;

        font-size: 12px;
    }

    .farm-grid-card-responsive .farm-meta-soft {
        font-size: 8px;
    }

    .farm-grid-card-responsive .subtle-card-link {
        font-size: 9px;
    }

}


/* =========================================================
   V17 PRODUCTS: RECOMMENDED + ALL PRODUCTS
   ========================================================= */

.recommended-product-shell {
    margin-bottom: 34px;
}

.recommended-product-track {
    gap: 10px;
}

.recommended-tag {
    position: absolute;
    top: 8px;
    right: 8px;

    display: inline-flex;
    align-items: center;
    gap: 4px;

    padding: 5px 8px;

    border-radius: 999px;

    background: rgba(72, 111, 60, .94);
    color: #fff;

    font-size: 8px;
    font-weight: 800;

    box-shadow: 0 5px 12px rgba(0,0,0,.10);
}

.recommended-tag i {
    font-size: 8px;
}

.all-products-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;

    margin: 10px 0 18px;
}

.all-products-head .eyebrow {
    margin-bottom: 7px;
}

.all-products-head .section-title {
    margin-bottom: 0;
    font-size: clamp(28px, 3.5vw, 42px);
}

.all-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.commerce-product-card {
    overflow: hidden;

    border-radius: 16px;

    background: #fff;

    border: 1px solid rgba(58, 88, 55, .12);

    box-shadow:
        0 5px 16px rgba(40, 58, 39, .05);
}

.commerce-product-image {
    position: relative;
    display: block;

    overflow: hidden;

    background: #f1f4ed;
}

.commerce-product-image img {
    width: 100%;
    aspect-ratio: 1 / 1;

    object-fit: cover;

    transition: transform .28s ease;
}

.commerce-product-card:hover .commerce-product-image img {
    transform: scale(1.025);
}

.commerce-product-badge {
    position: absolute;
    top: 8px;
    left: 8px;

    padding: 5px 8px;

    border-radius: 5px;

    background: rgba(255,255,255,.92);

    color: #5b764c;

    font-size: 9px;
    font-weight: 700;
}


.commerce-product-body {
    padding: 13px 13px 12px;
}

.commerce-category {
    display: block;

    margin-bottom: 5px;

    color: #73826e;

    font-size: 9px;
    font-weight: 700;
}

.commerce-product-body h3 {
    margin: 0 0 5px;

    min-height: 44px;

    font-size: 15px;
    line-height: 1.35;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}

.commerce-product-body h3 a {
    color: #264f3c;
}

.commerce-origin {
    display: block;

    min-height: 18px;

    margin-bottom: 8px;

    color: #8a9286;

    font-size: 9px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.commerce-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.commerce-product-footer strong {
    color: #276343;

    font-size: 14px;
    line-height: 1.3;
    font-weight: 800;
}

.commerce-product-footer > a {
    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 1px solid rgba(82,119,93,.16);

    color: #58774e;
}

.catalog-all-products-head {
    margin-top: 42px;
}

.compact-products-hero {
    padding-bottom: 28px;
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .all-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

}


/* ---------------------------------------------------------
   Mobile
   Recommended = 4 visible initially, swipe right.
   All products = 2 cards per row.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .recommended-product-shell {
        margin-bottom: 24px;
    }

    .recommended-product-track {
        gap: 5px;
        padding-inline: 2px;
        scroll-snap-type: x proximity;
    }

    .recommended-product-card {
        flex: 0 0 calc((100% - 15px) / 4) !important;

        min-width: 0 !important;
        max-width: none !important;

        aspect-ratio: .64 / 1;

        border-radius: 8px;
    }

    .recommended-product-card .product-market-index {
        top: 5px;
        left: 5px;

        min-width: 18px;
        height: 18px;

        font-size: 7px;
    }

    .recommended-product-card .recommended-tag {
        display: none;
    }

    .recommended-product-card .product-market-content {
        padding: 28px 6px 6px;
    }

    .recommended-product-card .product-market-category {
        margin-bottom: 2px;
        font-size: 6px;
    }

    .recommended-product-card .product-market-content h3 {
        margin-bottom: 3px;

        font-size: 8px;
        line-height: 1.2;

        -webkit-line-clamp: 2;
    }

    .recommended-product-card .product-market-origin {
        display: none;
    }

    .recommended-product-card .product-market-action {
        font-size: 6px;
    }

    .all-products-head {
        align-items: center;

        margin: 4px 0 12px;
    }

    .all-products-head .eyebrow {
        margin-bottom: 5px;
    }

    .all-products-head .section-title {
        font-size: 25px;
        line-height: 1.1;
    }

    .all-products-head .section-more-link {
        padding: 7px 10px;

        font-size: 10px;
    }

    .all-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .commerce-product-card {
        border-radius: 10px;
    }

    .commerce-product-image img {
        aspect-ratio: 1 / 1;
    }

    .commerce-product-badge {
        top: 6px;
        left: 6px;

        padding: 4px 6px;

        font-size: 7px;
    }

    .commerce-product-body {
        padding: 9px 9px 8px;
    }

    .commerce-category {
        margin-bottom: 3px;

        font-size: 7.5px;
    }

    .commerce-product-body h3 {
        min-height: 35px;

        margin-bottom: 3px;

        font-size: 12px;
        line-height: 1.3;
    }

    .commerce-origin {
        min-height: 14px;

        margin-bottom: 5px;

        font-size: 7.5px;
    }

    .commerce-product-footer strong {
        font-size: 11px;
    }

    .commerce-product-footer > a {
        width: 25px;
        height: 25px;

        flex-basis: 25px;

        font-size: 11px;
    }

    .catalog-all-products-head {
        margin-top: 28px;
    }

}


/* Small mobile */
@media (max-width: 390px) {

    .all-products-grid {
        gap: 6px;
    }

    .commerce-product-body h3 {
        font-size: 11.5px;
    }

}


/* =========================================================
   V18 PRODUCTS SINGLE SECTION
   สินค้าแนะนำ + สินค้าทั้งหมด = Section เดียวกัน
   ========================================================= */

.products-unified-section {
    position: relative;
}

.products-main-heading {
    margin-bottom: 24px;
}

.product-group {
    position: relative;
}

.product-group + .product-group {
    margin-top: 30px;
    padding-top: 26px;

    border-top: 1px solid rgba(76, 103, 66, .10);
}

.product-group-title {
    display: flex;
    align-items: baseline;
    gap: 12px;

    margin-bottom: 12px;
}

.product-group-title h2,
.product-group-title h3 {
    margin: 0;

    color: #22533f;

    font-size: 23px;
    line-height: 1.2;
    font-weight: 800;
}

.product-group-title span {
    color: #7b867b;

    font-size: 11px;
    line-height: 1.4;
}

.product-group-all {
    margin-bottom: 0;
}


/* Mobile */
@media (max-width: 767px) {

    .products-main-heading {
        margin-bottom: 18px;
    }

    .products-main-heading .section-title {
        font-size: 28px;
        line-height: 1.08;
    }

    .products-main-heading .section-description {
        font-size: 13px;
        line-height: 1.45;
    }

    .product-group + .product-group {
        margin-top: 22px;
        padding-top: 20px;
    }

    .product-group-title {
        display: block;

        margin-bottom: 10px;
    }

    .product-group-title h2,
    .product-group-title h3 {
        font-size: 20px;
        line-height: 1.2;
    }

    .product-group-title span {
        display: block;

        margin-top: 3px;

        font-size: 9.5px;
    }

}


/* =========================================================
   V19 PRODUCT HEADING + RECOMMENDED CARD SIZE
   ========================================================= */

.product-group-title-minimal {
    margin-bottom: 10px;
}

.product-group-title-minimal h2,
.product-group-title-minimal h3 {
    margin: 0;
}

.product-group-title-minimal span {
    display: none !important;
}

/* reduce empty vertical space between heading and recommended cards */
.products-main-heading {
    margin-bottom: 18px;
}

.product-group + .product-group {
    margin-top: 24px;
    padding-top: 20px;
}


/* ---------------------------------------------------------
   Mobile
   Recommended cards: larger/taller than before.
   Still 4 visible initially, but with stronger visual weight.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .products-main-heading {
        margin-bottom: 14px;
    }

    .product-group-title-minimal {
        margin-bottom: 8px;
    }

    .product-group-title-minimal h2,
    .product-group-title-minimal h3 {
        font-size: 19px;
        line-height: 1.15;
    }

    .recommended-product-track {
        gap: 5px;
        padding-bottom: 6px;
    }

    .recommended-product-card {
        /*
         * Keep 4 visible, but make each card noticeably taller.
         */
        flex: 0 0 calc((100% - 15px) / 4) !important;
        aspect-ratio: 0.52 / 1 !important;
        min-height: 168px;
        border-radius: 9px;
    }

    .recommended-product-card > img {
        object-fit: cover;
    }

    .recommended-product-card .product-market-gradient {
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,0) 28%,
                rgba(0,0,0,.05) 42%,
                rgba(0,0,0,.46) 64%,
                rgba(0,0,0,.90) 100%
            );
    }

    .recommended-product-card .product-market-content {
        padding: 44px 6px 7px;
    }

    .recommended-product-card .product-market-category {
        font-size: 6.4px;
        margin-bottom: 2px;
    }

    .recommended-product-card .product-market-content h3 {
        font-size: 8.7px;
        line-height: 1.22;
        margin-bottom: 4px;
    }

    .recommended-product-card .product-market-action {
        font-size: 6.5px;
    }

    .product-group + .product-group {
        margin-top: 18px;
        padding-top: 16px;
    }

}


/* slightly larger/taller on wider phones */
@media (min-width: 421px) and (max-width: 767px) {

    .recommended-product-card {
        min-height: 182px;
    }

    .recommended-product-card .product-market-content h3 {
        font-size: 9px;
    }

}


/* narrow phones */
@media (max-width: 390px) {

    .recommended-product-card {
        min-height: 158px;
    }

}


/* =========================================================
   V20 PRODUCT REFINEMENT
   ========================================================= */

/* ---------------------------
   Recommended products
   9:16 ratio + less rounded
   --------------------------- */

.recommended-product-card {
    aspect-ratio: 9 / 16 !important;
    border-radius: 6px !important;
}

.recommended-product-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recommended-product-card .product-market-gradient {
    border-radius: inherit;
}


/* ---------------------------
   "สินค้าทั้งหมด" title row
   --------------------------- */

.product-all-title-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.product-all-small-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    flex: 0 0 auto;

    padding: 5px 9px;

    border-radius: 999px;

    border: 1px solid rgba(86, 110, 71, .16);

    background: rgba(255,255,255,.82);

    color: #61784b;

    font-size: 10px;
    font-weight: 700;
}

.product-all-small-link:hover {
    color: #4f673f;
    border-color: rgba(86, 110, 71, .28);
}


/* ---------------------------
   Link after 6 product cards
   --------------------------- */

.product-all-footer-link {
    margin-top: 14px;

    text-align: center;
}

.product-all-footer-link a {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #5f774b;

    font-size: 12px;
    font-weight: 700;
}

.product-all-footer-link a:hover {
    color: #405c35;
}


/* ---------------------------------------------------------
   Mobile refinements
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .recommended-product-card {
        /*
         * Keep 4 cards visible at first,
         * but make them taller using true 9:16 ratio.
         */
        aspect-ratio: 9 / 16 !important;
        min-height: 0 !important;
        border-radius: 5px !important;
    }

    .recommended-product-track {
        gap: 4px !important;
    }

    .recommended-product-card .product-market-content {
        padding: 34px 6px 7px !important;
    }

    .recommended-product-card .product-market-content h3 {
        font-size: 8.4px !important;
        line-height: 1.2;
    }

    .product-all-title-row {
        margin-bottom: 9px;
    }

    .product-all-title-row h3 {
        font-size: 20px;
    }

    .product-all-small-link {
        padding: 5px 8px;
        font-size: 9px;
    }

    .product-all-footer-link {
        margin-top: 11px;
    }

    .product-all-footer-link a {
        font-size: 10.5px;
    }

}


/* =========================================================
   V21 MOBILE HERO + 8 PRODUCTS
   ========================================================= */

/* Mobile Hero:
   ขยับ content ขึ้นเล็กน้อยเพื่อไม่ให้ CTA ชิด/โดนตัดด้านล่าง */
@media (max-width: 767px) {

    .hero-stage {
        overflow: hidden;
    }

    .hero-stage-container {
        align-items: flex-start !important;
        padding-top: 12px;
        padding-bottom: 8px;
    }

    .hero-copy-panel {
        transform: translateY(-2px);
    }

    .hero-main-title {
        margin-bottom: 5px;
    }

    .hero-subtext {
        margin-bottom: 7px;
        line-height: 1.42;
    }

    .hero-actions {
        gap: 5px;
    }

    .hero-actions .btn {
        padding: 6px 10px;
        line-height: 1.15;
    }

}


/* Small mobile:
   ยกขึ้นอีกเล็กน้อยและลด spacing เพื่อให้ปุ่มอยู่ในพื้นที่ภาพครบ */
@media (max-width: 480px) {

    .hero-stage-container {
        padding-top: 9px;
        padding-bottom: 6px;
    }

    .hero-copy-panel {
        transform: translateY(-3px);
    }

    .hero-main-title {
        margin-bottom: 4px;
        line-height: 1.12;
    }

    .hero-subtext {
        margin-bottom: 6px;
        line-height: 1.35;
    }

    .hero-actions .btn {
        padding: 5px 9px;
    }

}


/* =========================================================
   V22 HERO CTA + PRODUCT IMAGE STRUCTURE
   ========================================================= */

/* Mobile: move only CTA buttons slightly downward.
   Keep title and image positioning unchanged. */
@media (max-width: 767px) {

    .hero-actions {
        margin-top: 5px !important;
        transform: translateY(3px);
    }

}

@media (max-width: 480px) {

    .hero-actions {
        margin-top: 4px !important;
        transform: translateY(3px);
    }

}


/* =========================================================
   V24 FARM MINI SITE + ADAPTIVE VIDEO HERO
   ========================================================= */

/* Farm navbar */
.farm-navbar {
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(44,78,59,.08);
}

.farm-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.farm-brand-logo {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 14px;

    background: #f2f6ee;

    color: #3f6b4c;

    font-weight: 800;
}

.farm-brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.farm-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.farm-brand-copy strong {
    color: #295841;
    font-size: 15px;
}

.farm-brand-copy small {
    color: #7b897e;
    font-size: 10px;
}

.farm-nav-platform-link a {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 8px 12px;

    border-radius: 999px;

    background: #f5f8f1;

    color: #5c744e;

    font-size: 11px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Adaptive farm video hero
   --------------------------------------------------------- */

.farm-video-hero {
    padding: 18px 0 28px;

    background:
        linear-gradient(
            180deg,
            #f8faf6 0%,
            #fffdf8 100%
        );
}

.farm-video-hero-frame {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    border-radius: 28px;

    background: #e8eee5;

    box-shadow:
        0 20px 48px rgba(44,66,40,.10);
}


/* Default media */
.farm-video-media {
    position: absolute;
    inset: 0;

    overflow: hidden;

    background: #dfe8dc;
}

.farm-intro-video,
.farm-hero-fallback-image {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.farm-video-copy {
    position: absolute;

    z-index: 3;

    left: 44px;
    top: 50%;

    width: min(480px, 44%);

    transform: translateY(-50%);

    padding: 28px;

    border-radius: 24px;

    background: rgba(255,255,255,.90);

    backdrop-filter: blur(16px);

    box-shadow:
        0 14px 34px rgba(33,59,41,.10);
}

.farm-member-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    margin-bottom: 12px;

    padding: 6px 10px;

    border-radius: 999px;

    background: #edf5e9;

    color: #53744f;

    font-size: 11px;
    font-weight: 700;
}

.farm-video-copy h1 {
    margin: 0 0 10px;

    color: #21543e;

    font-size: clamp(36px, 5vw, 58px);
    line-height: 1.08;
}

.farm-video-tagline {
    margin: 0 0 18px;

    color: #5a6d61;

    font-size: 16px;
    line-height: 1.7;
}

.farm-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.farm-video-meta {
    margin-top: 14px;

    color: #718076;

    font-size: 11px;
}

.farm-video-sound-toggle {
    position: absolute;

    z-index: 5;

    right: 18px;
    bottom: 18px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.88);

    color: #43634b;

    box-shadow: 0 8px 18px rgba(31,50,35,.10);
}


/* Landscape = cinematic full background */
.farm-video-landscape .farm-video-media::after,
.farm-video-image-mode .farm-video-media::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(16,42,28,.24) 0%,
            rgba(16,42,28,.07) 48%,
            rgba(16,42,28,0) 72%
        );
}


/* Portrait = split layout */
.farm-video-portrait .farm-video-hero-frame {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    min-height: 520px;

    background:
        linear-gradient(
            135deg,
            #f3f7ef 0%,
            #fffaf0 100%
        );
}

.farm-video-portrait .farm-video-media {
    position: relative;
    inset: auto;

    grid-column: 2;

    margin: 26px 26px 26px 0;

    border-radius: 22px;

    background: #dfe8dc;
}

.farm-video-portrait .farm-intro-video {
    object-fit: contain;

    background: #1d2d22;
}

.farm-video-portrait .farm-video-copy {
    position: relative;

    left: auto;
    top: auto;

    width: auto;

    transform: none;

    grid-column: 1;
    grid-row: 1;

    align-self: center;

    margin: 38px;

    padding: 0;

    background: transparent;

    backdrop-filter: none;

    box-shadow: none;
}

.farm-video-portrait .farm-video-sound-toggle {
    right: 12px;
    bottom: 12px;
}


/* ---------------------------------------------------------
   Farm sections
   --------------------------------------------------------- */

.farm-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;

    margin-bottom: 18px;
}

.farm-section-head .eyebrow {
    margin-bottom: 7px;
}

.farm-section-head h2 {
    margin: 0;

    color: #20543e;

    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.12;
}

.farm-section-head > a {
    flex: 0 0 auto;

    color: #657c52;

    font-size: 11px;
    font-weight: 700;
}

.farm-about-preview-card {
    padding: 28px 30px;

    border-radius: 24px;

    background: #fff;

    border: 1px solid rgba(66,95,60,.10);

    box-shadow: 0 10px 28px rgba(49,67,45,.05);
}

.farm-about-preview-card p {
    margin: 0;

    color: #5f6f64;

    font-size: 16px;
    line-height: 1.9;
}

.farm-product-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0,1fr));

    gap: 16px;
}

.farm-story-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0,1fr));

    gap: 16px;
}

.farm-gallery-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0,1fr));

    gap: 10px;
}

.farm-gallery-item {
    overflow: hidden;

    border-radius: 16px;

    background: #eef2ea;
}

.farm-gallery-item img {
    width: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;
}

.farm-contact-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    padding: 32px 34px;

    border-radius: 26px;

    background:
        linear-gradient(
            135deg,
            #eff6e8 0%,
            #fbf6e8 100%
        );

    border: 1px solid rgba(91,116,71,.12);
}

.farm-contact-card h2 {
    margin: 0 0 6px;

    color: #27563f;
}

.farm-contact-card p {
    margin: 0;

    color: #748075;
}

.farm-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}


/* Farm footer */
.farm-footer {
    padding: 28px 0;

    background: #244936;

    color: rgba(255,255,255,.80);
}

.farm-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.farm-footer strong {
    color: #fff;
}

.farm-footer p {
    margin: 6px 0 0;
}

.farm-footer-member {
    text-align: right;
}

.farm-footer-member span {
    display: block;

    font-size: 10px;
}

.farm-footer-member a {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    margin-top: 8px;

    color: #d8e5ce;

    font-size: 11px;
}


/* ---------------------------------------------------------
   Responsive tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {

    .farm-video-hero-frame {
        min-height: 460px;
    }

    .farm-video-copy {
        left: 24px;

        width: 52%;

        padding: 22px;
    }

    .farm-video-copy h1 {
        font-size: 40px;
    }

    .farm-video-portrait .farm-video-hero-frame {
        min-height: 480px;
    }

    .farm-video-portrait .farm-video-copy {
        margin: 28px;
    }

    .farm-video-portrait .farm-video-media {
        margin: 20px 20px 20px 0;
    }

    .farm-product-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

}


/* ---------------------------------------------------------
   Mobile
   Both 16:9 and 9:16 use media top + content below.
   This keeps hero compact and predictable.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .farm-navbar {
        position: sticky;
        top: 0;
    }

    .farm-brand-logo {
        width: 40px;
        height: 40px;

        flex-basis: 40px;

        border-radius: 12px;
    }

    .farm-brand-copy strong {
        max-width: 210px;

        font-size: 12px;

        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .farm-brand-copy small {
        font-size: 8.5px;
    }

    .farm-nav-platform-link {
        padding-top: 8px;

        border-top: 1px solid rgba(50,80,61,.08);
    }


    .farm-video-hero {
        padding: 10px 0 22px;
    }

    .farm-video-hero-frame,
    .farm-video-portrait .farm-video-hero-frame {
        display: flex;
        flex-direction: column;

        min-height: 0;

        border-radius: 18px;
    }

    .farm-video-media,
    .farm-video-portrait .farm-video-media {
        position: relative;

        order: 1;

        width: 100%;

        margin: 0;

        border-radius: 0;

        background: #dfe7db;
    }

    .farm-video-landscape .farm-video-media,
    .farm-video-image-mode .farm-video-media {
        aspect-ratio: 16 / 9;
    }

    .farm-video-portrait .farm-video-media {
        aspect-ratio: 16 / 10;

        padding: 8px 0;

        background:
            linear-gradient(
                135deg,
                #dfe9dc 0%,
                #f2eadc 100%
            );
    }

    .farm-video-portrait .farm-intro-video {
        width: auto;
        max-width: 44%;

        height: 100%;

        margin: 0 auto;

        border-radius: 12px;

        object-fit: cover;
    }

    .farm-video-copy,
    .farm-video-portrait .farm-video-copy {
        position: relative;

        order: 2;

        left: auto;
        top: auto;

        width: 100%;

        margin: 0;

        transform: none;

        padding: 16px 16px 15px;

        border-radius: 0;

        background: #fff;

        backdrop-filter: none;

        box-shadow: none;
    }

    .farm-member-badge {
        margin-bottom: 7px;

        padding: 5px 8px;

        font-size: 9px;
    }

    .farm-video-copy h1 {
        margin-bottom: 6px;

        font-size: 27px;
        line-height: 1.12;
    }

    .farm-video-tagline {
        margin-bottom: 10px;

        font-size: 12px;
        line-height: 1.5;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        overflow: hidden;
    }

    .farm-video-actions {
        gap: 6px;
    }

    .farm-video-actions .btn {
        padding: 8px 11px;

        font-size: 10px;
    }

    .farm-video-meta {
        margin-top: 9px;

        font-size: 9px;
    }

    .farm-video-sound-toggle {
        right: 10px;
        top: 10px;
        bottom: auto;

        width: 34px;
        height: 34px;
    }


    .farm-section-head {
        margin-bottom: 12px;
    }

    .farm-section-head h2 {
        font-size: 25px;
    }

    .farm-section-head > a {
        font-size: 9.5px;
    }

    .farm-about-preview-card {
        padding: 18px;

        border-radius: 16px;
    }

    .farm-about-preview-card p {
        font-size: 13px;
        line-height: 1.7;
    }

    .farm-product-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));

        gap: 8px;
    }

    .farm-story-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));

        gap: 7px;
    }

    .farm-gallery-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));

        gap: 7px;
    }

    .farm-contact-card {
        display: block;

        padding: 20px;

        border-radius: 18px;
    }

    .farm-contact-card h2 {
        font-size: 22px;
    }

    .farm-contact-actions {
        margin-top: 14px;
    }

    .farm-footer-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .farm-footer-member {
        text-align: left;
    }

}


/* Farm gallery page */
.farm-gallery-grid-large {
    grid-template-columns: repeat(4, minmax(0,1fr));
}

@media (max-width: 767px) {
    .farm-gallery-grid-large {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}


/* =========================================================
   V25 YOUTUBE HERO + FARM CERTIFICATES
   ========================================================= */

/* ---------------------------------------------------------
   YouTube Hero
   --------------------------------------------------------- */

.farm-youtube-hero {
    padding: 18px 0 28px;

    background:
        linear-gradient(
            180deg,
            #f8faf6 0%,
            #fffdf8 100%
        );
}

.farm-youtube-frame {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    border-radius: 28px;

    background: #e7ede3;

    box-shadow:
        0 20px 48px rgba(44,66,40,.10);
}

.farm-youtube-media {
    position: absolute;
    inset: 0;

    overflow: hidden;

    background: #dfe8dc;
}

.farm-youtube-poster,
.farm-youtube-player {
    position: absolute;
    inset: 0;
}

.farm-youtube-poster {
    z-index: 2;

    transition:
        opacity .24s ease,
        visibility .24s ease;
}

.farm-youtube-poster.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.farm-youtube-poster img,
.farm-youtube-player iframe,
.farm-youtube-media > .farm-hero-fallback-image {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.farm-youtube-player {
    z-index: 1;
}

.farm-youtube-player iframe {
    display: block;

    border: 0;
}

.farm-youtube-player.is-active {
    z-index: 3;
}

.farm-youtube-play {
    position: absolute;

    z-index: 4;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;

    padding: 0;

    border: 0;

    background: transparent;

    color: #fff;

    text-shadow: 0 2px 12px rgba(0,0,0,.30);
}

.farm-youtube-play i {
    width: 66px;
    height: 66px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding-left: 4px;

    border-radius: 50%;

    background: rgba(255,255,255,.94);

    color: #426a49;

    font-size: 34px;

    box-shadow:
        0 12px 32px rgba(24,42,28,.20);
}

.farm-youtube-play span {
    font-size: 12px;
    font-weight: 700;
}

.farm-youtube-poster::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(18,45,29,.25) 0%,
            rgba(18,45,29,.06) 55%,
            rgba(18,45,29,0) 78%
        );
}

.farm-youtube-copy {
    position: absolute;

    z-index: 5;

    left: 44px;
    top: 50%;

    width: min(480px, 44%);

    transform: translateY(-50%);

    padding: 28px;

    border-radius: 24px;

    background: rgba(255,255,255,.91);

    backdrop-filter: blur(16px);

    box-shadow:
        0 14px 34px rgba(33,59,41,.10);
}


/* Portrait desktop: split layout */
.farm-video-portrait .farm-youtube-frame {
    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    min-height: 520px;

    background:
        linear-gradient(
            135deg,
            #f3f7ef 0%,
            #fffaf0 100%
        );
}

.farm-video-portrait .farm-youtube-media {
    position: relative;
    inset: auto;

    grid-column: 2;

    margin: 26px 26px 26px 0;

    border-radius: 22px;

    background: #1f2c22;
}

.farm-video-portrait .farm-youtube-poster img,
.farm-video-portrait .farm-youtube-player iframe {
    object-fit: cover;
}

.farm-video-portrait .farm-youtube-copy {
    position: relative;

    left: auto;
    top: auto;

    width: auto;

    transform: none;

    grid-column: 1;
    grid-row: 1;

    align-self: center;

    margin: 38px;

    padding: 0;

    background: transparent;

    backdrop-filter: none;

    box-shadow: none;
}


/* ---------------------------------------------------------
   Certificates
   --------------------------------------------------------- */

.farm-certificate-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 16px;
}

.farm-certificate-card {
    overflow: hidden;

    border-radius: 18px;

    background: #fff;

    border:
        1px solid rgba(67,97,60,.10);

    box-shadow:
        0 8px 22px rgba(46,67,43,.05);
}

.farm-certificate-image {
    position: relative;

    overflow: hidden;

    background: #f2f4ee;
}

.farm-certificate-image img {
    width: 100%;

    aspect-ratio: 4 / 3;

    object-fit: contain;

    background: #f5f5f1;
}

.certificate-verified-badge {
    position: absolute;

    left: 10px;
    bottom: 10px;

    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 6px 9px;

    border-radius: 999px;

    background: rgba(61,111,71,.94);

    color: #fff;

    font-size: 9px;
    font-weight: 700;
}

.farm-certificate-body {
    padding: 16px;
}

.farm-certificate-body > span {
    display: block;

    margin-bottom: 5px;

    color: #73836f;

    font-size: 9px;
    font-weight: 700;
}

.farm-certificate-body h3 {
    margin: 0 0 8px;

    color: #28533d;

    font-size: 16px;
    line-height: 1.35;
}

.farm-certificate-body p {
    margin: 0 0 5px;

    color: #69766d;

    font-size: 11px;
    line-height: 1.5;
}

.farm-certificate-body > a,
.certificate-actions a {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    color: #62794e;

    font-size: 10px;
    font-weight: 700;
}

.certificate-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-top: 10px;
}

.farm-certificate-empty {
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 22px 24px;

    border-radius: 18px;

    background: #f7f9f4;

    border:
        1px dashed rgba(75,105,66,.20);

    color: #677567;
}

.farm-certificate-empty > i {
    font-size: 26px;

    color: #789064;
}

.farm-certificate-empty strong {
    display: block;

    margin-bottom: 3px;

    color: #476145;
}

.farm-certificate-empty p {
    margin: 0;

    font-size: 11px;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .farm-youtube-hero {
        padding: 10px 0 22px;
    }

    .farm-youtube-frame,
    .farm-video-portrait .farm-youtube-frame {
        display: flex;

        flex-direction: column;

        min-height: 0;

        border-radius: 18px;
    }

    .farm-youtube-media,
    .farm-video-portrait .farm-youtube-media {
        position: relative;

        order: 1;

        width: 100%;

        margin: 0;

        border-radius: 0;
    }

    .farm-video-landscape .farm-youtube-media,
    .farm-youtube-hero.no-video .farm-youtube-media {
        aspect-ratio: 16 / 9;
    }

    .farm-video-portrait .farm-youtube-media {
        aspect-ratio: 16 / 10;

        padding: 8px 0;

        background:
            linear-gradient(
                135deg,
                #dfe9dc 0%,
                #f2eadc 100%
            );
    }

    .farm-video-portrait .farm-youtube-poster,
    .farm-video-portrait .farm-youtube-player {
        left: 28%;
        right: 28%;

        border-radius: 12px;

        overflow: hidden;

        background: #1f2b22;
    }

    .farm-video-portrait .farm-youtube-poster img {
        object-fit: cover;
    }

    .farm-youtube-copy,
    .farm-video-portrait .farm-youtube-copy {
        position: relative;

        order: 2;

        left: auto;
        top: auto;

        width: 100%;

        margin: 0;

        transform: none;

        padding: 16px 16px 15px;

        border-radius: 0;

        background: #fff;

        backdrop-filter: none;

        box-shadow: none;
    }

    .farm-youtube-play i {
        width: 48px;
        height: 48px;

        font-size: 25px;
    }

    .farm-youtube-play span {
        font-size: 9px;
    }

    .farm-certificate-grid,
    .farm-certificate-grid-full {
        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 8px;
    }

    .farm-certificate-card {
        border-radius: 12px;
    }

    .farm-certificate-body {
        padding: 10px;
    }

    .farm-certificate-body h3 {
        font-size: 12px;
    }

    .farm-certificate-body p {
        font-size: 8.5px;
    }

    .certificate-verified-badge {
        left: 6px;
        bottom: 6px;

        padding: 4px 6px;

        font-size: 7px;
    }

    .farm-certificate-empty {
        padding: 16px;
    }

}


/* =========================================================
   V26 FARM SPLIT HERO
   Information left / YouTube right
   ========================================================= */

.farm-split-hero {
    padding: 28px 0 38px;

    background:
        linear-gradient(
            180deg,
            #f8faf6 0%,
            #fffdf8 100%
        );
}

.farm-split-hero-card {
    display: grid;

    grid-template-columns:
        minmax(0, 5fr)
        minmax(0, 7fr);

    align-items: stretch;

    overflow: hidden;

    min-height: 440px;

    border: 1px solid rgba(58, 88, 64, .09);
    border-radius: 28px;

    background: #fff;

    box-shadow:
        0 18px 46px rgba(43, 62, 45, .08);
}


/* Left content */
.farm-split-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 46px 42px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbfdf9 58%,
            #f3f7ee 100%
        );
}

.farm-split-copy h1 {
    margin: 0 0 12px;

    color: #23513d;

    font-size: clamp(38px, 4.7vw, 58px);
    line-height: 1.06;

    letter-spacing: -.035em;
}

.farm-split-tagline {
    margin: 0;

    color: #5c6f62;

    font-size: 16px;
    line-height: 1.7;
}

.farm-split-description {
    margin: 12px 0 0;

    color: #7a877e;

    font-size: 12px;
    line-height: 1.7;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;

    overflow: hidden;
}

.farm-split-copy .farm-video-actions {
    margin-top: 22px;
}

.farm-split-copy .farm-video-meta {
    margin-top: 16px;
}


/* Right media */
.farm-split-media {
    min-width: 0;

    padding: 18px;

    background:
        linear-gradient(
            145deg,
            #edf3e9 0%,
            #f6f0e5 100%
        );
}

.farm-youtube-shell {
    display: flex;
    flex-direction: column;

    height: 100%;

    overflow: hidden;

    border-radius: 20px;

    background: #17251c;

    box-shadow:
        0 12px 30px rgba(31, 48, 34, .12);
}

.farm-youtube-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 11px 14px;

    background: #fff;

    border-bottom: 1px solid rgba(61, 87, 66, .08);

    color: #526c58;
}

.farm-youtube-label span {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    font-size: 11px;
    font-weight: 700;
}

.farm-youtube-label small {
    padding: 4px 7px;

    border-radius: 999px;

    background: #f0f5ed;

    color: #74836f;

    font-size: 8px;
    font-weight: 700;
}

.farm-youtube-stage {
    position: relative;

    flex: 1;

    min-height: 0;

    overflow: hidden;

    background: #17251c;
}

.farm-youtube-stage iframe,
.farm-youtube-stage img {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}

.farm-youtube-stage img {
    object-fit: cover;
}


/* Landscape video */
.farm-video-landscape .farm-youtube-stage {
    aspect-ratio: 16 / 9;
}

.farm-video-landscape .farm-youtube-stage iframe {
    aspect-ratio: 16 / 9;
}


/* Portrait video
   Keep the 9:16 player intact instead of cropping it. */
.farm-video-portrait .farm-split-hero-card {
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(360px, .9fr);
}

.farm-video-portrait .farm-split-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.farm-video-portrait .farm-youtube-shell {
    width: min(100%, 360px);
    height: auto;
}

.farm-video-portrait .farm-youtube-stage {
    aspect-ratio: 9 / 16;
}

.farm-video-portrait .farm-youtube-stage iframe {
    aspect-ratio: 9 / 16;
}


/* Tablet */
@media (max-width: 991px) {

    .farm-split-hero-card {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.15fr);

        min-height: 390px;
    }

    .farm-split-copy {
        padding: 34px 28px;
    }

    .farm-split-copy h1 {
        font-size: 38px;
    }

    .farm-video-portrait .farm-split-hero-card {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, .82fr);
    }

}


/* Mobile:
   media first, content second.
   Both landscape and portrait are guaranteed visible. */
@media (max-width: 767px) {

    .farm-split-hero {
        padding: 10px 0 24px;
    }

    .farm-split-hero-card,
    .farm-video-portrait .farm-split-hero-card {
        display: flex;
        flex-direction: column;

        min-height: 0;

        border-radius: 18px;
    }

    .farm-split-media,
    .farm-video-portrait .farm-split-media {
        order: 1;

        width: 100%;

        padding: 8px;

        display: block;
    }

    .farm-youtube-shell,
    .farm-video-portrait .farm-youtube-shell {
        width: 100%;
        height: auto;

        border-radius: 13px;
    }

    .farm-youtube-label {
        padding: 8px 10px;
    }

    .farm-youtube-label span {
        font-size: 9px;
    }

    .farm-video-landscape .farm-youtube-stage {
        aspect-ratio: 16 / 9;

        min-height: 200px;
    }

    .farm-video-portrait .farm-youtube-stage {
        width: min(58vw, 250px);

        margin: 0 auto;

        aspect-ratio: 9 / 16;
    }

    .farm-video-portrait .farm-youtube-stage iframe {
        width: 100%;
        height: 100%;
    }

    .farm-split-copy {
        order: 2;

        padding: 17px 16px 18px;
    }

    .farm-split-copy h1 {
        margin-bottom: 6px;

        font-size: 27px;
        line-height: 1.12;
    }

    .farm-split-tagline {
        font-size: 12px;
        line-height: 1.5;
    }

    .farm-split-description {
        margin-top: 7px;

        font-size: 10px;

        -webkit-line-clamp: 2;
    }

    .farm-split-copy .farm-video-actions {
        margin-top: 12px;
    }

    .farm-split-copy .farm-video-meta {
        margin-top: 10px;
    }

}


/* Very small devices */
@media (max-width: 420px) {

    .farm-video-landscape .farm-youtube-stage {
        min-height: 0;
    }

    .farm-split-copy {
        padding: 15px 14px 16px;
    }

    .farm-split-copy h1 {
        font-size: 25px;
    }

}


/* =========================================================
   V27 FINAL FARM SPLIT HERO
   Unique selectors intentionally avoid legacy V24/V25 styles.
   ========================================================= */

.farm-split-hero-v27 {
    padding: 24px 0 36px;
    background: linear-gradient(180deg, #f8faf6 0%, #fffdf8 100%);
}

.farm-split-card-v27 {
    display: grid !important;
    grid-template-columns: minmax(320px, 42%) minmax(0, 58%) !important;
    align-items: stretch !important;
    min-height: 430px;
    overflow: hidden;
    border: 1px solid rgba(50, 82, 58, .10);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(38, 61, 43, .08);
}

.farm-split-info-v27 {
    position: static !important;
    z-index: auto !important;
    width: auto !important;
    transform: none !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px 38px;
    background: linear-gradient(145deg, #fff 0%, #fbfdf9 60%, #f1f6ed 100%);
}

.farm-split-info-v27 h1 {
    margin: 0 0 10px;
    color: #244f3d;
    font-size: clamp(37px, 4.3vw, 56px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.farm-split-tagline-v27 {
    margin: 0;
    color: #596e61;
    font-size: 15px;
    line-height: 1.7;
}

.farm-split-description-v27 {
    margin: 11px 0 0;
    color: #7b887e;
    font-size: 12px;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.farm-split-info-v27 .farm-video-actions {
    margin-top: 21px;
}

.farm-split-info-v27 .farm-video-meta {
    margin-top: 15px;
}

.farm-split-media-v27 {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: linear-gradient(145deg, #eef4e9 0%, #f5eee3 100%);
}

.farm-media-card-v27 {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 20px;
    background: #18231c;
    box-shadow: 0 11px 28px rgba(34, 49, 37, .13);
}

.farm-media-head-v27 {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 13px;
    background: #fff;
    color: #506a56;
    border-bottom: 1px solid rgba(58, 87, 63, .08);
}

.farm-media-head-v27 span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
}

.farm-media-head-v27 .bi-youtube {
    color: #b33b30;
}

.farm-media-head-v27 small {
    padding: 4px 7px;
    border-radius: 999px;
    background: #eff4eb;
    color: #6d7d69;
    font-size: 8px;
    font-weight: 700;
}

.farm-media-stage-v27 {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    background: #17221b;
}

.farm-media-stage-v27 iframe,
.farm-media-stage-v27 img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    border: 0;
}

.farm-media-stage-v27 img {
    object-fit: cover;
}

/* landscape */
.farm-split-hero-v27.farm-video-landscape .farm-media-stage-v27 {
    aspect-ratio: 16 / 9;
}

/* portrait */
.farm-split-hero-v27.farm-video-portrait .farm-split-card-v27 {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px) !important;
}

.farm-split-hero-v27.farm-video-portrait .farm-media-card-v27 {
    width: min(100%, 360px);
    height: auto;
    min-height: 0;
}

.farm-split-hero-v27.farm-video-portrait .farm-media-stage-v27 {
    aspect-ratio: 9 / 16;
}


/* Tablet */
@media (max-width: 991px) {
    .farm-split-card-v27 {
        grid-template-columns: minmax(280px, 45%) minmax(0, 55%) !important;
        min-height: 380px;
    }

    .farm-split-info-v27 {
        padding: 30px 25px;
    }

    .farm-split-info-v27 h1 {
        font-size: 36px;
    }

    .farm-media-card-v27 {
        min-height: 330px;
    }
}


/* Mobile:
   YouTube first, information second. */
@media (max-width: 767px) {
    .farm-split-hero-v27 {
        padding: 8px 0 22px;
    }

    .farm-split-card-v27,
    .farm-split-hero-v27.farm-video-portrait .farm-split-card-v27 {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0;
        border-radius: 18px;
    }

    .farm-split-media-v27 {
        order: 1;
        width: 100%;
        padding: 7px;
    }

    .farm-media-card-v27,
    .farm-split-hero-v27.farm-video-portrait .farm-media-card-v27 {
        width: 100%;
        height: auto;
        min-height: 0;
        border-radius: 13px;
    }

    .farm-media-head-v27 {
        padding: 8px 10px;
    }

    .farm-media-head-v27 span {
        font-size: 9px;
    }

    .farm-split-hero-v27.farm-video-landscape .farm-media-stage-v27 {
        width: 100%;
        aspect-ratio: 16 / 9;
    }

    .farm-split-hero-v27.farm-video-portrait .farm-media-stage-v27 {
        width: min(58vw, 250px);
        margin: 0 auto;
        aspect-ratio: 9 / 16;
    }

    .farm-media-stage-v27 iframe,
    .farm-media-stage-v27 img {
        min-height: 0;
    }

    .farm-split-info-v27 {
        order: 2;
        width: 100% !important;
        padding: 16px 15px 17px;
    }

    .farm-split-info-v27 h1 {
        margin-bottom: 6px;
        font-size: 26px;
        line-height: 1.12;
    }

    .farm-split-tagline-v27 {
        font-size: 11.5px;
        line-height: 1.5;
    }

    .farm-split-description-v27 {
        margin-top: 7px;
        font-size: 9.5px;
        -webkit-line-clamp: 2;
    }

    .farm-split-info-v27 .farm-video-actions {
        margin-top: 12px;
    }

    .farm-split-info-v27 .farm-video-meta {
        margin-top: 9px;
    }
}


/* =========================================================
   V28 MOBILE VIDEO / FALLBACK FIX
   ========================================================= */

/* A fallback image must never sit on the dark YouTube background. */
.farm-media-card-v27.is-fallback-image,
.farm-media-card-v27.is-fallback-image .farm-media-stage-v27 {
    background: #edf3e9 !important;
}

.farm-media-card-v27.is-fallback-image .farm-media-stage-v27 img {
    object-fit: cover;
    background: #edf3e9;
}

/* YouTube remains dark behind the iframe only. */
.farm-media-card-v27.is-youtube,
.farm-media-card-v27.is-youtube .farm-media-stage-v27 {
    background: #111b15;
}


/* Mobile: guarantee an actual visible player height.
   This avoids iframe collapsing in some mobile browsers/WebViews. */
@media (max-width: 767px) {

    .farm-media-card-v27.is-youtube .farm-media-stage-v27 {
        flex: none !important;
        width: 100%;
        min-height: 0 !important;
    }

    .farm-split-hero-v27.farm-video-landscape
    .farm-media-card-v27.is-youtube
    .farm-media-stage-v27 {
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
    }

    .farm-split-hero-v27.farm-video-portrait
    .farm-media-card-v27.is-youtube
    .farm-media-stage-v27 {
        width: min(58vw, 250px) !important;
        aspect-ratio: 9 / 16 !important;
        height: auto !important;
    }

    .farm-media-card-v27.is-youtube .farm-media-stage-v27 iframe {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    /* Fallback image area on mobile:
       light, compact, never a black rectangle. */
    .farm-media-card-v27.is-fallback-image .farm-media-stage-v27 {
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
    }

    .farm-media-card-v27.is-fallback-image .farm-media-stage-v27 img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}


/* =========================================================
   V29 MOBILE FARM NAV FIX
   ========================================================= */

.farm-navbar {
    z-index: 1040;
}

@media (max-width: 991.98px) {

    .farm-navbar .navbar-collapse {
        width: 100%;
        margin-top: 10px;
        padding: 10px 12px 14px;

        border-radius: 16px;
        background: #fff;

        box-shadow:
            0 14px 34px rgba(35, 57, 41, .10);
    }

    .farm-navbar .navbar-nav {
        align-items: stretch !important;
    }

    .farm-navbar .nav-link {
        padding: 9px 4px;
    }

    .farm-nav-platform-link {
        margin-top: 8px !important;
    }

}


/* =========================================================
   V31 COMPACT SECTION SPACING
   ลดพื้นที่ว่างระหว่าง section โดยยังคงจังหวะสายตาที่อ่านง่าย
   ========================================================= */

/* Global section rhythm inside Farm Mini Site */
.farm-mini-site .section-space {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
}

/* When sections touch soft backgrounds, reduce empty visual gap */
.farm-mini-site .section-space + .section-space {
    padding-top: 26px !important;
}

/* First section after Hero should begin sooner */
.farm-mini-site .farm-split-hero-v27 + .section-space,
.farm-mini-site .farm-split-hero-v27 + section.section-space {
    padding-top: 26px !important;
}

/* Tighten headings and cards */
.farm-mini-site .farm-section-head {
    margin-bottom: 12px !important;
}

.farm-mini-site .farm-about-preview-card,
.farm-mini-site .farm-contact-card {
    margin-top: 0 !important;
}

/* Reduce unnecessary vertical air around footer-adjacent section */
.farm-mini-site > .section-space:last-of-type {
    padding-bottom: 30px !important;
}

/* Tablet */
@media (max-width: 991px) {
    .farm-mini-site .section-space {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    .farm-mini-site .section-space + .section-space {
        padding-top: 22px !important;
    }

    .farm-mini-site .farm-split-hero-v27 + .section-space,
    .farm-mini-site .farm-split-hero-v27 + section.section-space {
        padding-top: 22px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .farm-mini-site .section-space {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .farm-mini-site .section-space + .section-space {
        padding-top: 16px !important;
    }

    .farm-mini-site .farm-split-hero-v27 + .section-space,
    .farm-mini-site .farm-split-hero-v27 + section.section-space {
        padding-top: 16px !important;
    }

    .farm-mini-site .farm-section-head {
        margin-bottom: 9px !important;
    }

    .farm-mini-site .farm-about-preview-card {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    .farm-mini-site .farm-contact-card {
        padding-top: 17px !important;
        padding-bottom: 17px !important;
    }
}


/* =========================================================
   V32 PRODUCT DETAIL / MEDIA GALLERY
   ========================================================= */

.product-detail-page {
    background: #fbfcf9;
}

.product-detail-hero {
    padding: 18px 0 34px;
}

.product-breadcrumb {
    margin-bottom: 14px;
}

.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(380px, .97fr);
    gap: 46px;
    align-items: start;
}


/* Gallery */
.product-gallery-main {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: #f0f3ec;
    box-shadow: 0 14px 34px rgba(45, 65, 47, .08);
}

.product-gallery-panel {
    display: none;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f0f3ec;
}

.product-gallery-panel.is-active {
    display: block;
}

.product-gallery-panel img,
.product-gallery-video-panel iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.product-gallery-panel img {
    object-fit: cover;
}

.product-gallery-video-panel {
    background: #132219;
}

.product-gallery-strip-wrap {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 34px;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}

.product-gallery-thumbs {
    display: flex;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.product-gallery-thumbs::-webkit-scrollbar {
    display: none;
}

.product-gallery-thumb {
    flex: 0 0 86px;
    height: 68px;
    overflow: hidden;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    background: #f2f4ef;
    scroll-snap-align: start;
}

.product-gallery-thumb.is-active {
    border-color: #397151;
}

.product-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-gallery-arrow {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(57, 92, 65, .15);
    border-radius: 50%;
    background: #fff;
    color: #42634a;
}

.product-gallery-video-thumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #46614b;
}

.product-video-thumb-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #2f6849;
    color: #fff;
    font-size: 18px;
}

.product-gallery-video-thumb small {
    font-size: 8px;
    font-weight: 700;
}


/* Summary */
.product-summary {
    padding-top: 28px;
}

.product-summary h1 {
    margin: 14px 0 10px;
    color: #174f3a;
    font-size: clamp(38px, 4.6vw, 58px);
    line-height: 1.08;
    letter-spacing: -.04em;
}

.product-summary-description {
    margin: 0;
    color: #66746b;
    font-size: 16px;
    line-height: 1.7;
}

.product-summary-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
}

.product-summary-tags span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(58, 91, 64, .12);
    border-radius: 999px;
    background: #fff;
    color: #506956;
    font-size: 10px;
    font-weight: 700;
}

.product-status-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 22px;
    padding: 18px 20px;
    border-radius: 18px;
    background: #f2f7ee;
}

.product-status-card > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.product-status-card > div span {
    color: #738174;
    font-size: 9px;
}

.product-status-card > div strong {
    color: #28543f;
    font-size: 18px;
}

.product-availability {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #4b7652;
    font-size: 10px;
    font-weight: 700;
}

.product-summary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.product-quick-specs {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin-top: 20px;
}

.product-quick-spec {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 12px;
    border: 1px solid rgba(63, 92, 66, .10);
    border-radius: 14px;
    background: #fff;
}

.product-quick-spec > i {
    margin-top: 2px;
    color: #60805d;
}

.product-quick-spec div {
    min-width: 0;
}

.product-quick-spec span,
.product-quick-spec strong {
    display: block;
}

.product-quick-spec span {
    color: #849087;
    font-size: 8px;
}

.product-quick-spec strong {
    margin-top: 2px;
    color: #405b48;
    font-size: 10px;
    line-height: 1.45;
}


/* Detailed information */
.product-info-section {
    padding: 28px 0 46px;
    border-top: 1px solid rgba(55, 80, 60, .08);
    background: #fff;
}

.product-info-layout {
    display: grid;
    grid-template-columns: minmax(0,1.6fr) minmax(300px,.75fr);
    gap: 24px;
    align-items: start;
}

.product-info-card,
.product-source-card,
.product-trust-card {
    border: 1px solid rgba(57, 86, 62, .10);
    border-radius: 20px;
    background: #fff;
}

.product-info-card {
    padding: 28px;
}

.product-info-card h2 {
    margin: 9px 0 12px;
    color: #24533e;
    font-size: 30px;
}

.product-long-description {
    margin: 0 0 20px;
    color: #66746b;
    line-height: 1.8;
}

.product-detail-list {
    display: grid;
    gap: 0;
}

.product-detail-list > div {
    display: grid;
    grid-template-columns: 160px minmax(0,1fr);
    gap: 18px;
    padding: 15px 0;
    border-top: 1px solid rgba(55, 83, 60, .08);
}

.product-detail-list span {
    color: #345d45;
    font-size: 11px;
    font-weight: 700;
}

.product-detail-list p {
    margin: 0;
    color: #67756b;
    font-size: 12px;
    line-height: 1.7;
}


/* Source card */
.product-source-column {
    display: grid;
    gap: 12px;
}

.product-source-card {
    padding: 20px;
}

.product-source-head {
    display: flex;
    gap: 12px;
    align-items: center;
}

.product-source-logo {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 15px;
    background: #edf4e9;
    color: #3d6a49;
    font-weight: 800;
}

.product-source-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-source-head small,
.product-source-head span {
    display: block;
    color: #7a887e;
    font-size: 8px;
}

.product-source-head h3 {
    margin: 2px 0;
    color: #28513d;
    font-size: 16px;
}

.product-source-card > p {
    margin: 16px 0;
    color: #6f7c73;
    font-size: 11px;
    line-height: 1.65;
}

.product-source-meta {
    display: grid;
    gap: 7px;
    padding: 12px 0;
    border-top: 1px solid rgba(57, 86, 62, .08);
    border-bottom: 1px solid rgba(57, 86, 62, .08);
}

.product-source-meta span {
    display: flex;
    gap: 7px;
    color: #66756b;
    font-size: 10px;
}

.product-source-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 13px;
    color: #4c704f;
    font-size: 10px;
    font-weight: 700;
}

.product-trust-card {
    display: flex;
    gap: 10px;
    padding: 15px;
    background: #f5f8f1;
}

.product-trust-card > i {
    color: #56805b;
    font-size: 20px;
}

.product-trust-card strong {
    display: block;
    color: #476149;
    font-size: 11px;
}

.product-trust-card p {
    margin: 3px 0 0;
    color: #748077;
    font-size: 9px;
    line-height: 1.55;
}


/* Tablet */
@media (max-width: 991px) {
    .product-detail-grid {
        grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);
        gap: 28px;
    }

    .product-summary {
        padding-top: 12px;
    }

    .product-summary h1 {
        font-size: 40px;
    }

    .product-info-layout {
        grid-template-columns: 1fr;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .product-detail-hero {
        padding: 8px 0 20px;
    }

    .product-breadcrumb {
        margin-bottom: 8px;
        font-size: 9px;
    }

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .product-gallery-main {
        border-radius: 16px;
    }

    .product-gallery-strip-wrap {
        grid-template-columns: 26px minmax(0,1fr) 26px;
        gap: 5px;
        margin-top: 7px;
    }

    .product-gallery-thumb {
        flex-basis: 66px;
        height: 52px;
        border-radius: 9px;
    }

    .product-gallery-arrow {
        width: 26px;
        height: 26px;
        font-size: 10px;
    }

    .product-summary {
        padding-top: 0;
    }

    .product-summary h1 {
        margin-top: 9px;
        font-size: 29px;
    }

    .product-summary-description {
        font-size: 12px;
        line-height: 1.55;
    }

    .product-summary-tags {
        margin-top: 11px;
    }

    .product-status-card {
        margin-top: 13px;
        padding: 13px 14px;
        border-radius: 14px;
    }

    .product-status-card > div strong {
        font-size: 14px;
    }

    .product-summary-actions {
        margin-top: 11px;
    }

    .product-summary-actions .btn {
        padding: 8px 11px;
        font-size: 10px;
    }

    .product-quick-specs {
        margin-top: 13px;
        gap: 6px;
    }

    .product-quick-spec {
        padding: 9px;
        border-radius: 11px;
    }

    .product-info-section {
        padding: 20px 0 28px;
    }

    .product-info-layout {
        gap: 12px;
    }

    .product-info-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .product-info-card h2 {
        font-size: 24px;
    }

    .product-detail-list > div {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 11px 0;
    }

    .product-source-card {
        padding: 16px;
        border-radius: 16px;
    }
}


/* =========================================================
   V33 FLEXIBLE LOCAL / LINK VIDEO
   ========================================================= */

.farm-media-stage-v27 video,
.product-gallery-video-panel video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #111b15;
    object-fit: contain;
}

.product-gallery-video-panel iframe,
.product-gallery-video-panel video {
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .farm-media-stage-v27 video {
        width: 100% !important;
        height: 100% !important;
    }
}


/* =========================================================
   V34 SIMPLE COMMUNITY E-COMMERCE
   ========================================================= */

.nav-cart-link { display:inline-flex; align-items:center; gap:5px; }
.nav-cart-count {
    min-width:18px; height:18px; display:inline-grid; place-items:center;
    padding:0 5px; border-radius:999px; background:#2f6b48; color:#fff;
    font-size:8px; font-weight:800;
}

.commerce-page-head,.seller-head {
    padding:34px 0 24px;
    background:linear-gradient(180deg,#f7faf5 0%,#fff 100%);
}
.commerce-page-head.compact { padding-bottom:16px; }
.commerce-page-head h1,.seller-head h1 {
    margin:8px 0; color:#214f3b; font-size:clamp(34px,4vw,52px); letter-spacing:-.035em;
}
.commerce-page-head p,.seller-head p { margin:0; color:#728078; }

.commerce-empty {
    max-width:620px; margin:0 auto; padding:50px 30px; text-align:center;
    border:1px solid rgba(58,87,63,.09); border-radius:24px; background:#fff;
}
.commerce-empty > i { font-size:42px; color:#62805d; }

.cart-layout,.checkout-layout,.order-detail-layout {
    display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);
    gap:22px; align-items:start;
}
.cart-groups { display:grid; gap:14px; }

.cart-farm-card,.cart-summary,.checkout-card,.checkout-summary,
.order-success-card,.track-order-card,.seller-orders-card {
    border:1px solid rgba(53,84,59,.10); border-radius:20px; background:#fff;
    box-shadow:0 8px 22px rgba(44,64,46,.04);
}
.cart-farm-card { overflow:hidden; }

.cart-farm-head,.order-success-head,.seller-orders-head {
    display:flex; justify-content:space-between; gap:15px; align-items:center;
    padding:17px 20px; background:#f5f8f2;
}
.cart-farm-head small,.order-success-head small { display:block; color:#819087; font-size:8px; }
.cart-farm-head h2,.order-success-head h2,.seller-orders-head h2 {
    margin:2px 0 0; color:#31543f; font-size:16px;
}
.cart-farm-head > span { color:#6d7d71; font-size:10px; }

.cart-items { padding:0 18px; }
.cart-item {
    display:grid; grid-template-columns:62px minmax(0,1fr) auto auto auto;
    gap:12px; align-items:center; padding:14px 0;
    border-bottom:1px solid rgba(53,84,59,.07);
}
.cart-item img { width:62px; height:62px; object-fit:cover; border-radius:12px; }
.cart-item-copy h3 { margin:0 0 3px; color:#345541; font-size:13px; }
.cart-item-copy span { color:#78857c; font-size:9px; }
.cart-qty-form { display:flex; align-items:center; gap:5px; }
.cart-qty-form input {
    width:58px; padding:6px; border:1px solid rgba(57,86,62,.15); border-radius:8px;
}
.cart-qty-form button,.cart-remove {
    border:0; background:transparent; color:#5b755f; font-size:9px;
}
.cart-farm-total {
    display:flex; justify-content:flex-end; gap:14px; padding:13px 18px; color:#53695a;
}

.cart-summary,.checkout-summary {
    position:sticky; top:94px; padding:20px;
}
.cart-summary h2,.checkout-summary h2,.checkout-card h2,.track-order-card h2 {
    margin:0 0 14px; color:#31543f; font-size:18px;
}
.cart-summary > div,.cart-summary-total,.checkout-grand-total,.order-status-line,.order-total-line {
    display:flex; justify-content:space-between; gap:12px; padding:9px 0;
    color:#647268; font-size:10px;
}
.cart-summary-total,.checkout-grand-total,.order-total-line {
    margin-top:6px; border-top:1px solid rgba(57,86,62,.10);
}
.cart-summary-total strong,.checkout-grand-total strong,.order-total-line strong {
    color:#24523d; font-size:16px;
}
.cart-summary p { color:#849087; font-size:9px; line-height:1.5; }

.checkout-main { display:grid; gap:14px; }
.checkout-card { padding:20px; }
.checkout-fields {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
.checkout-fields label,.track-order-card label,.slip-form label { display:grid; gap:6px; }
.checkout-fields label > span,.track-order-card label > span,.slip-form label > span {
    color:#4e6654; font-size:10px; font-weight:700;
}
.checkout-fields input,.checkout-fields textarea,.track-order-card input,.slip-form input {
    width:100%; padding:10px 11px; border:1px solid rgba(57,86,62,.15);
    border-radius:10px; background:#fff;
}
.checkout-field-full { grid-column:1 / -1; }

.checkout-farm-summary {
    display:grid; gap:6px; padding:12px 0; border-bottom:1px solid rgba(57,86,62,.08);
}
.checkout-farm-summary > strong { color:#355a44; font-size:11px; }
.checkout-farm-summary > span {
    display:flex; justify-content:space-between; gap:8px; color:#748177; font-size:9px;
}
.checkout-farm-summary em { text-align:right; color:#526b57; font-size:9px; font-style:normal; }
.checkout-agree { display:flex; gap:8px; margin:14px 0; color:#6f7d73; font-size:9px; }

.order-success-list { display:grid; gap:14px; }
.order-success-card { padding:20px; }

.payment-instruction {
    display:flex; justify-content:space-between; gap:20px; margin:15px 0; padding:16px;
    border-radius:15px; background:#f4f8f1;
}
.payment-instruction span,.payment-amount span { display:block; color:#7b887e; font-size:8px; }
.payment-instruction h3 { margin:3px 0; color:#31543f; font-size:15px; }
.payment-instruction p { margin:0 0 4px; color:#6d7b71; font-size:10px; }
.payment-amount { text-align:right; }
.payment-amount strong { color:#2f6047; font-size:22px; }

.order-item-row {
    display:flex; justify-content:space-between; gap:12px; padding:10px 0;
    border-bottom:1px solid rgba(57,86,62,.07); color:#647268; font-size:10px;
}
.slip-form { display:grid; gap:10px; margin-top:15px; }
.slip-form small { color:#859087; font-size:8px; }

.payment-submitted-box {
    display:grid; gap:4px; margin-top:15px; padding:16px; border-radius:14px;
    background:#eff7ed; color:#4c7051;
}
.payment-submitted-box i { font-size:22px; }
.payment-submitted-box span { font-size:9px; }

.track-order-card {
    max-width:540px; margin:0 auto; padding:22px; display:grid; gap:13px;
}

.product-buy-box {
    display:flex; align-items:end; gap:10px; margin-top:18px; padding:14px;
    border-radius:16px; background:#f4f8f0;
}
.product-buy-qty { display:grid; gap:4px; }
.product-buy-qty span { color:#6e7d72; font-size:8px; }
.product-buy-qty input {
    width:70px; padding:9px 8px; border:1px solid rgba(57,86,62,.15); border-radius:10px;
}
.product-add-cart { flex:1; }

.seller-center { background:#fafcf8; }
.seller-stat-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px;
}
.seller-stat-grid > div {
    padding:18px; border:1px solid rgba(55,84,60,.09); border-radius:17px; background:#fff;
}
.seller-stat-grid span { display:block; color:#7a887e; font-size:9px; }
.seller-stat-grid strong { display:block; margin-top:5px; color:#2a5941; font-size:24px; }

.seller-menu-grid {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:16px;
}
.seller-menu-card {
    padding:18px; border:1px solid rgba(55,84,60,.09); border-radius:17px; background:#fff;
}
.seller-menu-card i { color:#56805a; font-size:24px; }
.seller-menu-card h2 { margin:9px 0 4px; color:#31543f; font-size:15px; }
.seller-menu-card p { margin:0; color:#7d897f; font-size:9px; }

.seller-orders-card { padding:0 18px 10px; overflow:hidden; }
.seller-orders-head { margin:0 -18px 5px; }
.seller-order-row {
    display:grid; grid-template-columns:minmax(0,1fr) auto auto auto;
    gap:12px; align-items:center; padding:11px 0;
    border-bottom:1px solid rgba(55,84,60,.07);
}
.seller-order-row > div span { display:block; color:#7a887e; font-size:8px; }
.seller-order-row > div strong { color:#355a44; font-size:11px; }
.seller-status {
    padding:5px 8px; border-radius:999px; background:#f1f5ed; color:#5a735d;
    font-size:8px; font-weight:700;
}
.seller-order-row > a { color:#557558; font-size:9px; font-weight:700; }

@media (max-width:991px) {
    .cart-layout,.checkout-layout,.order-detail-layout { grid-template-columns:1fr; }
    .cart-summary,.checkout-summary { position:static; }
    .seller-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px) {
    .commerce-page-head,.seller-head { padding:20px 0 16px; }
    .commerce-page-head h1,.seller-head h1 { font-size:29px; }

    .cart-item { grid-template-columns:52px minmax(0,1fr) auto; gap:8px; }
    .cart-item img { width:52px; height:52px; }
    .cart-qty-form { grid-column:2; }
    .cart-item > strong { grid-column:3; grid-row:1 / span 2; font-size:10px; }
    .cart-item > form:last-child { grid-column:3; }

    .checkout-fields { grid-template-columns:1fr; }
    .checkout-field-full { grid-column:auto; }

    .payment-instruction { display:block; }
    .payment-amount { margin-top:12px; text-align:left; }

    .seller-stat-grid,.seller-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .seller-order-row { grid-template-columns:minmax(0,1fr) auto; }
}


/* =========================================================
   V35 GROUPED NAVIGATION
   ========================================================= */

.main-nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 12px;
}

.main-cart-button {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    min-height: 42px;

    padding: 9px 12px;

    border: 1px solid rgba(43, 76, 55, .11);
    border-radius: 999px;

    background: #fff;

    color: #315a43;

    font-size: 11px;
    font-weight: 700;
}

.main-cart-button:hover {
    background: #f5f8f2;
    color: #315a43;
}


/* Desktop dropdown */
.nav-dropdown-menu {
    width: 290px;

    padding: 8px;

    border: 1px solid rgba(48, 78, 55, .09);
    border-radius: 16px;

    background: rgba(255,255,255,.98);

    box-shadow:
        0 18px 46px rgba(37, 58, 42, .12);
}

.nav-dropdown-menu .dropdown-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;

    padding: 10px 11px;

    border-radius: 11px;

    white-space: normal;

    color: #365744;
}

.nav-dropdown-menu .dropdown-item:hover,
.nav-dropdown-menu .dropdown-item:focus {
    background: #f3f7ef;
    color: #315942;
}

.nav-dropdown-menu .dropdown-item > i {
    flex: 0 0 28px;

    width: 28px;
    height: 28px;

    display: grid;
    place-items: center;

    border-radius: 9px;

    background: #edf4e8;

    color: #537356;

    font-size: 13px;
}

.nav-dropdown-menu .dropdown-item > span {
    display: block;
    min-width: 0;
}

.nav-dropdown-menu .dropdown-item strong,
.nav-dropdown-menu .dropdown-item small {
    display: block;
}

.nav-dropdown-menu .dropdown-item strong {
    margin-bottom: 2px;

    font-size: 11px;
    font-weight: 700;
}

.nav-dropdown-menu .dropdown-item small {
    color: #829087;

    font-size: 8px;
    line-height: 1.35;
}


/* Keep dropdown arrow subtle */
.main-navbar .dropdown-toggle::after,
.farm-navbar .dropdown-toggle::after {
    margin-left: 5px;

    vertical-align: .12em;

    border-top-width: .25em;
    border-right-width: .25em;
    border-left-width: .25em;
}


/* Mobile navigation */
@media (max-width: 991.98px) {

    .main-navbar .navbar-collapse {
        margin-top: 10px;
        padding: 10px 12px 14px;

        border-radius: 16px;

        background: #fff;

        box-shadow:
            0 14px 34px rgba(35,57,41,.10);
    }

    .main-navbar .navbar-nav {
        align-items: stretch !important;
    }

    .main-navbar .nav-link {
        padding: 9px 4px;
    }

    .nav-dropdown-menu {
        width: 100%;

        margin: 0 0 4px !important;
        padding: 5px;

        border: 0;

        border-radius: 12px;

        background: #f7f9f5;

        box-shadow: none;
    }

    .nav-dropdown-menu .dropdown-item {
        padding: 9px;
    }

    .nav-dropdown-menu .dropdown-item > i {
        width: 25px;
        height: 25px;

        flex-basis: 25px;
    }

    .main-nav-actions {
        width: 100%;

        margin: 10px 0 0;
        padding-top: 10px;

        border-top: 1px solid rgba(48,78,55,.08);
    }

    .main-cart-button {
        flex: 1;
    }

    .main-nav-actions .btn-login {
        flex: 1;

        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .farm-dropdown-menu {
        margin-bottom: 5px !important;
    }

}


/* Very small mobile */
@media (max-width: 420px) {

    .main-cart-text {
        display: inline;
    }

    .main-nav-actions {
        gap: 6px;
    }

    .main-cart-button,
    .main-nav-actions .btn-login {
        min-height: 40px;

        padding-left: 9px;
        padding-right: 9px;

        font-size: 9px;
    }

}


/* =========================================================
   V36 COMPLETE DEMO CONTENT
   ========================================================= */

.farm-about-content-grid {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(300px,.7fr);
    gap: 16px;
    align-items: start;
}

.farm-about-facts {
    display: grid;
    gap: 8px;
}

.farm-about-facts > div {
    padding: 14px 15px;
    border: 1px solid rgba(52,82,58,.09);
    border-radius: 14px;
    background: #fff;
}

.farm-about-facts span,
.farm-about-facts strong {
    display: block;
}

.farm-about-facts span {
    color: #829087;
    font-size: 8px;
}

.farm-about-facts strong {
    margin-top: 3px;
    color: #405e49;
    font-size: 11px;
    line-height: 1.5;
}

.farm-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.demo-notice-card {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 12px;
    padding: 13px 15px;
    border: 1px solid rgba(55,84,60,.09);
    border-radius: 15px;
    background: #f3f8ef;
}

.demo-notice-card > i {
    color: #56805a;
    font-size: 22px;
}

.demo-notice-card strong,
.demo-notice-card span {
    display: block;
}

.demo-notice-card strong {
    color: #3c5e47;
    font-size: 11px;
}

.demo-notice-card span {
    margin-top: 2px;
    color: #748177;
    font-size: 9px;
}

.seller-demo-panels {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.seller-mini-panel {
    padding: 15px;
    border: 1px solid rgba(55,84,60,.09);
    border-radius: 16px;
    background: #fff;
}

.seller-mini-panel-head {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #3f6049;
    font-size: 11px;
}

.seller-mini-panel p {
    margin: 5px 0;
    color: #748177;
    font-size: 9px;
    line-height: 1.45;
}

@media (max-width: 767px) {
    .farm-about-content-grid {
        grid-template-columns: 1fr;
    }

    .seller-demo-panels {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V39 PRODUCT DETAIL — VISIT FARM CTA
   ทำให้ "เยี่ยมชมสวน" เป็นจุดนำสายตาก่อนส่วนราคา/สั่งซื้อ
   ========================================================= */

.product-visit-farm-cta {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;

    margin-top: 18px;
    padding: 14px 15px;

    border: 1px solid rgba(43, 101, 64, .18);
    border-radius: 17px;

    background:
        linear-gradient(135deg, #eef7eb 0%, #f9fcf7 68%, #edf5e9 100%);

    color: inherit;

    box-shadow:
        0 8px 24px rgba(42, 78, 50, .055);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.product-visit-farm-cta:hover {
    transform: translateY(-1px);

    border-color: rgba(43, 101, 64, .30);

    box-shadow:
        0 12px 30px rgba(42, 78, 50, .09);

    color: inherit;
}

.product-visit-farm-icon {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    border-radius: 14px;

    background: #2f6d4b;

    color: #fff;

    font-size: 20px;
}

.product-visit-farm-copy {
    min-width: 0;
}

.product-visit-farm-copy small,
.product-visit-farm-copy strong,
.product-visit-farm-copy > span {
    display: block;
}

.product-visit-farm-copy small {
    margin-bottom: 1px;

    color: #6f8374;

    font-size: 8px;
}

.product-visit-farm-copy strong {
    color: #24563e;

    font-size: 14px;
    line-height: 1.35;
}

.product-visit-farm-copy > span {
    margin-top: 2px;

    color: #75847a;

    font-size: 8px;
    line-height: 1.45;
}

.product-visit-farm-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 8px 11px;

    border-radius: 999px;

    background: #fff;

    color: #2d6848;

    box-shadow:
        0 1px 0 rgba(44, 87, 56, .06);

    font-size: 9px;
    font-weight: 800;

    white-space: nowrap;
}

.product-visit-farm-cta:hover .product-visit-farm-action {
    background: #2f6d4b;
    color: #fff;
}

/* The duplicate supporting link below purchase controls stays subtle. */
.product-secondary-farm-link {
    opacity: .86;
}

/* Keep price / purchase area visually secondary to source discovery,
   while still strong enough for commerce conversion. */
.product-visit-farm-cta + .product-status-card {
    margin-top: 12px;
}


/* Mobile */
@media (max-width: 767px) {

    .product-visit-farm-cta {
        grid-template-columns: 40px minmax(0,1fr);
        gap: 10px;

        margin-top: 12px;
        padding: 11px;

        border-radius: 14px;
    }

    .product-visit-farm-icon {
        width: 40px;
        height: 40px;

        border-radius: 12px;

        font-size: 17px;
    }

    .product-visit-farm-copy strong {
        font-size: 12px;
    }

    .product-visit-farm-copy > span {
        font-size: 7px;
    }

    .product-visit-farm-action {
        grid-column: 1 / -1;

        width: 100%;

        justify-content: center;

        padding: 8px 10px;

        border: 1px solid rgba(43, 101, 64, .14);

        font-size: 9px;
    }

}


/* =========================================================
   V40 PRODUCT DETAIL REBALANCE
   - move source label into meta tags
   - reduce title size
   - remove duplicate lower farm button
   - put LINE beside Add to Cart
   - make media and summary block closer in height
   ========================================================= */

.product-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.product-gallery-panel {
    aspect-ratio: 6 / 5;
}

.product-summary {
    padding-top: 8px;
}

.product-summary h1 {
    margin: 8px 0 10px;
    font-size: clamp(32px, 3.8vw, 46px);
    line-height: 1.12;
    letter-spacing: -.035em;
}

.product-summary-description {
    font-size: 15px;
    line-height: 1.65;
}

.product-summary-tags {
    margin-top: 14px;
}

.product-summary-source-tag {
    background: #eef6ec !important;
    color: #2d6847 !important;
    border-color: rgba(50, 103, 72, .12) !important;
}

.product-summary-source-tag .bi-dot {
    font-size: 15px;
    line-height: 1;
}

.product-visit-farm-cta {
    margin-top: 14px;
}

.product-buy-box {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) minmax(210px, .82fr);
    gap: 10px;
    align-items: end;
    margin-top: 16px;
}

.product-buy-qty {
    margin: 0;
}

.product-buy-qty span {
    display: block;
    margin-bottom: 7px;
    color: #7a867c;
    font-size: 9px;
    font-weight: 700;
}

.product-buy-qty input {
    width: 100%;
    min-height: 54px;
    padding: 0 14px;
    border: 1px solid rgba(52, 88, 61, .12);
    border-radius: 16px;
    background: #fff;
    color: #234b38;
    font-size: 16px;
    font-weight: 700;
}

.product-add-cart,
.product-line-inline-btn {
    min-height: 54px;
    border-radius: 999px;
    justify-content: center;
    font-weight: 800;
}

.product-line-inline-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.product-quick-specs {
    margin-top: 16px;
}

.product-secondary-farm-link,
.product-summary-actions {
    display: none !important;
}

/* Keep main content block tighter so there is less wasted space under the gallery */
.product-gallery-strip-wrap {
    margin-top: 12px;
}

@media (max-width: 991px) {
    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .product-gallery-panel {
        aspect-ratio: 1 / 1;
    }

    .product-summary h1 {
        font-size: clamp(28px, 6vw, 38px);
    }

    .product-buy-box {
        grid-template-columns: 76px 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .product-summary {
        padding-top: 0;
    }

    .product-summary h1 {
        font-size: 28px;
        line-height: 1.18;
    }

    .product-summary-description {
        font-size: 14px;
    }

    .product-buy-box {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 14px;
    }

    .product-buy-qty input,
    .product-add-cart,
    .product-line-inline-btn {
        min-height: 50px;
    }
}


/* =========================================================
   V41 PRODUCT DETAIL POLISH
   เกลา Product Detail ให้กระชับ อ่านง่าย และมีลำดับสายตาชัดขึ้น
   ========================================================= */

/* Overall vertical rhythm */
.product-detail-hero {
    padding-top: 14px;
    padding-bottom: 24px;
}

.product-breadcrumb {
    margin-bottom: 10px;
}

.product-detail-grid {
    gap: 30px;
}


/* Main media */
.product-gallery-main {
    border-radius: 18px;
    background: #f5f7f2;
    box-shadow: 0 10px 26px rgba(42, 67, 47, .055);
}

.product-gallery-panel {
    aspect-ratio: 1.08 / 1;
}

.product-gallery-thumb {
    flex-basis: 74px;
    height: 58px;
    border-radius: 10px;
}

.product-gallery-strip-wrap {
    grid-template-columns: 30px minmax(0,1fr) 30px;
    margin-top: 8px;
}

.product-gallery-arrow {
    width: 30px;
    height: 30px;
    font-size: 10px;
}


/* Product summary */
.product-summary {
    padding-top: 2px;
}

.product-summary h1 {
    max-width: 640px;
    margin: 7px 0 8px;
    font-size: clamp(30px, 3.25vw, 42px);
    line-height: 1.13;
    letter-spacing: -.028em;
}

.product-summary-description {
    max-width: 690px;
    color: #68766d;
    font-size: 14px;
    line-height: 1.62;
}

.product-summary-tags {
    gap: 6px;
    margin-top: 12px;
}

.product-summary-tags span {
    padding: 6px 9px;
    font-size: 8.5px;
}


/* Farm source CTA — important, but not oversized */
.product-visit-farm-cta {
    grid-template-columns: 42px minmax(0,1fr) auto;
    gap: 10px;

    margin-top: 12px;
    padding: 11px 12px;

    border-radius: 14px;

    background:
        linear-gradient(135deg, #eef7eb 0%, #fafcf8 72%, #edf5e9 100%);

    box-shadow: none;
}

.product-visit-farm-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 17px;
}

.product-visit-farm-copy small {
    font-size: 7px;
}

.product-visit-farm-copy strong {
    font-size: 12px;
}

.product-visit-farm-copy > span {
    max-width: 560px;
    font-size: 7px;
}

.product-visit-farm-action {
    padding: 7px 10px;
    font-size: 8px;
}


/* Price */
.product-status-card {
    margin-top: 10px;
    padding: 14px 15px;
    border-radius: 14px;
}

.product-status-card > div span {
    font-size: 8px;
}

.product-status-card > div strong {
    font-size: 16px;
}

.product-availability {
    max-width: 52%;
    justify-content: flex-end;
    text-align: right;
    font-size: 8px;
    line-height: 1.4;
}


/* Purchase row */
.product-buy-box {
    grid-template-columns: 76px minmax(0, 1.1fr) minmax(180px, .78fr);
    gap: 8px;

    margin-top: 10px;
    padding: 10px;

    border-radius: 14px;
}

.product-buy-qty span {
    margin-bottom: 5px;
    font-size: 8px;
}

.product-buy-qty input,
.product-add-cart,
.product-line-inline-btn {
    min-height: 48px;
}

.product-buy-qty input {
    padding: 0 10px;
    border-radius: 12px;
    font-size: 14px;
}

.product-add-cart,
.product-line-inline-btn {
    padding: 8px 13px;
    font-size: 10px;
}

.product-line-inline-btn {
    background: #fff;
}


/* Quick specs */
.product-specs-heading {
    margin-top: 12px;
    margin-bottom: 6px;
}

.product-specs-heading span {
    color: #718077;
    font-size: 8px;
    font-weight: 700;
}

.product-quick-specs {
    gap: 6px;
    margin-top: 0;
}

.product-quick-spec {
    gap: 7px;
    min-height: 54px;
    padding: 9px 10px;
    border-radius: 11px;
}

.product-quick-spec > i {
    font-size: 12px;
}

.product-quick-spec span {
    font-size: 7px;
}

.product-quick-spec strong {
    font-size: 8.5px;
    line-height: 1.38;
}


/* Lower information section */
.product-info-section {
    padding: 20px 0 34px;
}

.product-info-layout {
    gap: 16px;
}

.product-info-card {
    padding: 22px;
    border-radius: 16px;
}

.product-info-card .eyebrow {
    font-size: 8px;
}

.product-info-card h2 {
    margin: 6px 0 9px;
    font-size: 24px;
}

.product-long-description {
    margin-bottom: 14px;
    font-size: 11px;
    line-height: 1.72;
}

.product-detail-list > div {
    grid-template-columns: 135px minmax(0,1fr);
    gap: 14px;
    padding: 11px 0;
}

.product-detail-list span {
    font-size: 9px;
}

.product-detail-list p {
    font-size: 10px;
}


/* Farm/source column */
.product-source-column {
    gap: 10px;
}

.product-source-card {
    padding: 16px;
    border-radius: 15px;
}

.product-source-logo {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 13px;
}

.product-source-head h3 {
    font-size: 14px;
}

.product-source-card > p {
    margin: 12px 0;
    font-size: 9px;
}

.product-source-meta {
    gap: 5px;
    padding: 9px 0;
}

.product-source-meta span {
    font-size: 8px;
}

.product-source-link {
    margin-top: 10px;
    font-size: 8px;
}

.product-trust-card {
    padding: 12px;
    border-radius: 14px;
}

.product-trust-card > i {
    font-size: 17px;
}

.product-trust-card strong {
    font-size: 9px;
}

.product-trust-card p {
    font-size: 7.5px;
}


/* Desktop alignment:
   keep gallery + summary visually similar in overall occupied height. */
@media (min-width: 992px) {
    .product-gallery,
    .product-summary {
        min-width: 0;
    }

    .product-gallery-main {
        max-height: 610px;
    }

    .product-gallery-panel {
        max-height: 610px;
    }

    .product-gallery-panel img {
        object-position: center;
    }
}


/* Tablet */
@media (max-width: 991px) {
    .product-detail-grid {
        gap: 18px;
    }

    .product-gallery-panel {
        aspect-ratio: 1 / 1;
    }

    .product-summary h1 {
        font-size: 34px;
    }

    .product-buy-box {
        grid-template-columns: 72px 1fr 1fr;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .product-detail-hero {
        padding-top: 6px;
        padding-bottom: 16px;
    }

    .product-breadcrumb {
        margin-bottom: 6px;
    }

    .product-gallery-main {
        border-radius: 14px;
    }

    .product-gallery-thumb {
        flex-basis: 61px;
        height: 48px;
    }

    .product-summary h1 {
        margin-top: 6px;
        font-size: 26px;
    }

    .product-summary-description {
        font-size: 12px;
        line-height: 1.55;
    }

    .product-summary-tags {
        margin-top: 9px;
    }

    .product-visit-farm-cta {
        margin-top: 9px;
    }

    .product-status-card {
        margin-top: 9px;
    }

    .product-buy-box {
        grid-template-columns: 68px minmax(0,1fr);
        gap: 7px;
        padding: 8px;
    }

    .product-line-inline-btn {
        grid-column: 1 / -1;
        min-height: 44px;
    }

    .product-buy-qty input,
    .product-add-cart {
        min-height: 46px;
    }

    .product-quick-specs {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .product-info-card {
        padding: 16px;
    }

    .product-info-card h2 {
        font-size: 20px;
    }

    .product-detail-list > div {
        grid-template-columns: 1fr;
        gap: 3px;
        padding: 9px 0;
    }
}


/* =========================================================
   V42 REAL AUTHENTICATION
   ========================================================= */

.auth-page {
    min-height: 66vh;
    background:
        linear-gradient(180deg, #f7faf5 0%, #fff 74%);
}

.auth-section {
    padding: 42px 0 56px;
}

.auth-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(390px, .72fr);
    gap: 50px;
    align-items: center;
    max-width: 1040px;
    margin: 0 auto;
}

.auth-intro h1 {
    max-width: 620px;
    margin: 12px 0 12px;
    color: #214f3b;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.12;
    letter-spacing: -.03em;
}

.auth-intro > p {
    max-width: 600px;
    margin: 0;
    color: #6f7d73;
    line-height: 1.72;
}

.auth-card,
.auth-single-card {
    padding: 24px;
    border: 1px solid rgba(46, 81, 54, .10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(39, 63, 43, .075);
}

.auth-single-card {
    max-width: 560px;
    margin: 0 auto;
}

.auth-card-head {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}

.auth-card-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #edf5e9;
    color: #346b4b;
    font-size: 20px;
}

.auth-card-head h1,
.auth-card-head h2 {
    margin: 0;
    color: #28533e;
    font-size: 20px;
}

.auth-card-head p {
    margin: 3px 0 0;
    color: #829087;
    font-size: 10px;
}

.auth-form {
    display: grid;
    gap: 13px;
}

.auth-form > label {
    display: grid;
    gap: 6px;
}

.auth-form > label > span {
    color: #52695a;
    font-size: 10px;
    font-weight: 700;
}

.auth-form > label > small {
    color: #879189;
    font-size: 8px;
    line-height: 1.45;
}

.auth-input-wrap {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(51, 84, 58, .14);
    border-radius: 12px;
    background: #fff;
}

.auth-input-wrap > i {
    text-align: center;
    color: #6f8074;
}

.auth-input-wrap input {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px 9px 0;
    border: 0;
    outline: 0;
    background: transparent;
}

.auth-submit {
    min-height: 46px;
    margin-top: 3px;
}

.auth-submit:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.auth-card-foot {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(51, 84, 58, .08);
    color: #859188;
    font-size: 8px;
}

.auth-help-card {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    padding: 14px 15px;
    border: 1px solid rgba(51, 84, 58, .09);
    border-radius: 14px;
    background: #f3f8ef;
}

.auth-help-card > i {
    color: #497452;
    font-size: 18px;
}

.auth-help-card strong,
.auth-help-card span {
    display: block;
}

.auth-help-card strong {
    color: #45624b;
    font-size: 10px;
}

.auth-help-card span {
    margin-top: 2px;
    color: #79867d;
    font-size: 8px;
    line-height: 1.55;
}

.auth-alert {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 14px;
    padding: 11px 12px;
    border-radius: 11px;
    font-size: 9px;
    line-height: 1.55;
}

.auth-alert-error {
    border: 1px solid rgba(165, 65, 65, .15);
    background: #fff4f3;
    color: #924b48;
}

.auth-alert-warning {
    border: 1px solid rgba(180, 132, 40, .14);
    background: #fff9ea;
    color: #806329;
}

.auth-alert-success {
    border: 1px solid rgba(54, 122, 76, .13);
    background: #eff8ee;
    color: #3e704a;
}

.auth-nav-logout {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #6d554f;
    font-size: 10px;
    font-weight: 700;
    text-align: left;
}

.auth-nav-logout:hover {
    background: #fff3f1;
}

.admin-feature-link {
    display: block;
    height: 100%;
    color: inherit;
}

.admin-feature-link:hover {
    color: inherit;
}

.admin-user-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(49, 82, 56, .09);
    border-radius: 17px;
    background: #fff;
}

.admin-user-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}

.admin-user-table th,
.admin-user-table td {
    padding: 12px 13px;
    border-bottom: 1px solid rgba(49, 82, 56, .07);
    text-align: left;
    vertical-align: middle;
}

.admin-user-table th {
    background: #f5f8f2;
    color: #566b5b;
    font-size: 9px;
}

.admin-user-table td {
    color: #657368;
    font-size: 9px;
}

.admin-user-table td strong,
.admin-user-table td small {
    display: block;
}

.admin-user-table td strong {
    color: #365743;
    font-size: 10px;
}

.admin-user-table td small {
    margin-top: 2px;
    color: #88928a;
    font-size: 7px;
}

.admin-role-badge,
.admin-status-badge {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 999px;
    background: #eff5ec;
    color: #4b6e50;
    font-size: 7px;
    font-weight: 700;
}

.admin-status-badge.suspended {
    background: #fff0ee;
    color: #98534d;
}

.admin-status-badge.pending {
    background: #fff8e7;
    color: #8c6b2c;
}

.admin-reset-form {
    display: flex;
    gap: 6px;
}

.admin-reset-form input {
    width: 150px;
    min-height: 34px;
    padding: 6px 8px;
    border: 1px solid rgba(51, 84, 58, .13);
    border-radius: 8px;
}

@media (max-width: 767px) {
    .auth-section {
        padding: 24px 0 36px;
    }

    .auth-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .auth-intro h1 {
        font-size: 30px;
    }

    .auth-card,
    .auth-single-card {
        padding: 18px;
        border-radius: 17px;
    }
}


/* =========================================================
   V43 DATABASE CUTOVER
   ========================================================= */

.db-health-grid,
.db-count-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}

.db-health-card,
.db-count-grid > div,
.db-cutover-guide {
    padding: 16px;
    border: 1px solid rgba(50,82,57,.09);
    border-radius: 15px;
    background: #fff;
}

.db-health-card span,
.db-health-card strong,
.db-count-grid span,
.db-count-grid strong {
    display: block;
}

.db-health-card span,
.db-count-grid span {
    color: #829087;
    font-size: 8px;
}

.db-health-card strong {
    margin-top: 4px;
    color: #345942;
    font-size: 15px;
}

.db-count-grid {
    margin-top: 12px;
    grid-template-columns: repeat(5,minmax(0,1fr));
}

.db-count-grid strong {
    margin-top: 4px;
    color: #28543d;
    font-size: 20px;
}

.db-cutover-guide {
    margin-top: 16px;
}

.db-cutover-guide h2 {
    margin: 0 0 10px;
    color: #31543f;
    font-size: 17px;
}

.db-cutover-guide ol {
    margin: 0;
    padding-left: 20px;
    color: #66756b;
    font-size: 10px;
    line-height: 1.8;
}

@media (max-width: 767px) {
    .db-health-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .db-count-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}


/* =========================================================
   V46 USER MANAGEMENT + FARM ASSIGNMENT
   ========================================================= */

.admin-users-hero-row {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
}

.admin-users-toolbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    max-width: 620px;
    margin-bottom: 14px;
}

.admin-users-toolbar > div {
    padding: 12px 14px;
    border: 1px solid rgba(48, 81, 56, .09);
    border-radius: 13px;
    background: #fff;
}

.admin-users-toolbar strong,
.admin-users-toolbar span {
    display: block;
}

.admin-users-toolbar strong {
    color: #27543d;
    font-size: 18px;
}

.admin-users-toolbar span {
    margin-top: 1px;
    color: #839087;
    font-size: 8px;
}

.admin-users-list {
    display: grid;
    gap: 9px;
}

.admin-user-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;

    padding: 14px;

    border: 1px solid rgba(48, 81, 56, .09);
    border-radius: 15px;

    background: #fff;
}

.admin-user-avatar {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    border-radius: 14px;

    background: #eef5ea;
    color: #37664a;

    font-size: 17px;
    font-weight: 800;
}

.admin-user-main {
    min-width: 0;
}

.admin-user-title-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.admin-user-title-row h2 {
    margin: 0;
    color: #31553f;
    font-size: 13px;
}

.admin-user-title-row > div > span {
    display: block;
    margin-top: 1px;
    color: #8a948d;
    font-size: 7px;
}

.admin-user-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.admin-user-details {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;

    margin-top: 7px;

    color: #748177;
    font-size: 7.5px;
}

.admin-user-details span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.admin-user-farms {
    margin-top: 6px;
    color: #53705b;
    font-size: 7.5px;
    line-height: 1.5;
}

.admin-user-password-state {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    margin-top: 6px;
    padding: 4px 7px;

    border-radius: 999px;

    background: #fff8e8;
    color: #81672c;

    font-size: 7px;
    font-weight: 700;
}

.admin-user-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 105px;
}

.admin-user-actions .btn {
    justify-content: center;
}

.empty-state-card {
    padding: 42px 20px;
    text-align: center;
    border: 1px dashed rgba(48, 81, 56, .16);
    border-radius: 17px;
    color: #738078;
}

.empty-state-card > i {
    color: #638068;
    font-size: 28px;
}

.empty-state-card h2 {
    margin: 8px 0 4px;
    color: #3e5f49;
    font-size: 16px;
}

.empty-state-card p {
    margin: 0;
    font-size: 9px;
}


/* Form */
.admin-user-form-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, .55fr);
    gap: 18px;
    align-items: start;
}

.admin-user-form-card {
    overflow: hidden;

    border: 1px solid rgba(48, 81, 56, .09);
    border-radius: 18px;

    background: #fff;
}

.admin-form-section {
    padding: 20px;
    border-bottom: 1px solid rgba(48, 81, 56, .07);
}

.admin-form-section.is-muted {
    opacity: .56;
}

.admin-form-section-head {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.admin-form-section-head > i {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eef5ea;
    color: #3d6a4c;
}

.admin-form-section-head h2 {
    margin: 0;
    color: #355741;
    font-size: 13px;
}

.admin-form-section-head p {
    margin: 2px 0 0;
    color: #869189;
    font-size: 7.5px;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
}

.admin-form-grid label {
    display: grid;
    gap: 5px;
}

.admin-form-grid label > span {
    color: #566c5c;
    font-size: 8px;
    font-weight: 700;
}

.admin-form-grid label > small {
    color: #89928c;
    font-size: 7px;
}

.admin-form-grid input,
.admin-form-grid select,
.admin-farm-assignment select {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;

    border: 1px solid rgba(48, 81, 56, .13);
    border-radius: 10px;

    background: #fff;
    color: #385442;

    font-size: 9px;
}

.admin-form-full {
    grid-column: 1 / -1;
}

.admin-farm-assignment-list {
    display: grid;
    gap: 7px;
}

.admin-farm-assignment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 10px;
    align-items: center;

    padding: 9px 10px;

    border: 1px solid rgba(48, 81, 56, .08);
    border-radius: 11px;

    background: #fbfcf9;
}

.admin-farm-check {
    display: flex;
    gap: 8px;
    align-items: center;
    cursor: pointer;
}

.admin-farm-check input {
    width: 17px;
    height: 17px;
}

.admin-farm-check strong,
.admin-farm-check small {
    display: block;
}

.admin-farm-check strong {
    color: #3c5c46;
    font-size: 9px;
}

.admin-farm-check small {
    margin-top: 1px;
    color: #8a948c;
    font-size: 7px;
}

.admin-user-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
}

.admin-user-form-help {
    display: grid;
    gap: 9px;
}

.admin-user-form-help > div {
    padding: 15px;
    border: 1px solid rgba(48, 81, 56, .09);
    border-radius: 14px;
    background: #fff;
}

.admin-user-form-help i {
    color: #467051;
    font-size: 17px;
}

.admin-user-form-help h3 {
    margin: 7px 0 4px;
    color: #3d5d48;
    font-size: 10px;
}

.admin-user-form-help p {
    margin: 0;
    color: #818d84;
    font-size: 7.5px;
    line-height: 1.55;
}

.admin-user-highlight {
    background: #f3f8ef;
}

@media (max-width: 991px) {
    .admin-user-form-layout {
        grid-template-columns: 1fr;
    }

    .admin-user-form-help {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 767px) {
    .admin-users-hero-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-users-toolbar {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .admin-user-card {
        grid-template-columns: 40px minmax(0,1fr);
    }

    .admin-user-avatar {
        width: 40px;
        height: 40px;
    }

    .admin-user-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        min-width: 0;
    }

    .admin-user-title-row {
        display: grid;
    }

    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-form-full {
        grid-column: auto;
    }

    .admin-farm-assignment {
        grid-template-columns: 1fr;
    }

    .admin-user-form-help {
        grid-template-columns: 1fr;
    }

    .admin-user-form-actions {
        flex-direction: column-reverse;
    }

    .admin-user-form-actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   V47 MY FARM / OWNERSHIP EXPERIENCE
   ========================================================= */

.my-farms-page {
    background: #fbfcf9;
}

.my-farms-hero {
    padding: 34px 0 26px;
    background:
        linear-gradient(135deg, #f7faf5 0%, #eef6eb 100%);
    border-bottom: 1px solid rgba(48,81,56,.07);
}

.my-farms-welcome {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}

.my-farms-welcome h1 {
    margin: 10px 0 8px;
    color: #214f3a;
    font-size: clamp(34px, 4vw, 52px);
    letter-spacing: -.035em;
}

.my-farms-welcome p {
    max-width: 720px;
    margin: 0;
    color: #68766d;
    line-height: 1.7;
}

.my-farms-user-badge {
    min-width: 225px;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(48,81,56,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.86);
}

.my-farms-user-badge > i {
    color: #356a4a;
    font-size: 28px;
}

.my-farms-user-badge strong,
.my-farms-user-badge span {
    display: block;
}

.my-farms-user-badge strong {
    color: #355741;
    font-size: 11px;
}

.my-farms-user-badge span {
    margin-top: 2px;
    color: #7e8981;
    font-size: 8px;
}

.my-farms-content {
    padding: 28px 0 42px;
}

.my-farms-section-head {
    margin-bottom: 12px;
}

.my-farms-section-head.assisted {
    margin-top: 28px;
}

.my-farms-section-head > div > span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: #3d704f;
    font-size: 9px;
    font-weight: 800;
}

.my-farms-section-head h2 {
    margin: 4px 0 2px;
    color: #31553f;
    font-size: 22px;
}

.my-farms-section-head p {
    margin: 0;
    color: #7b877e;
    font-size: 9px;
}

.my-farm-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.my-farm-card {
    overflow: hidden;
    border: 1px solid rgba(48,81,56,.09);
    border-radius: 19px;
    background: #fff;
}

.my-farm-card.is-owner {
    box-shadow: 0 14px 32px rgba(39,64,43,.055);
}

.my-farm-cover {
    position: relative;
    aspect-ratio: 1.9 / 1;
    overflow: hidden;
    background: #eef3eb;
}

.my-farm-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.my-farm-role-badge {
    position: absolute;
    left: 14px;
    top: 14px;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

.my-farm-role-badge.owner {
    background: rgba(31,91,57,.94);
    color: #fff;
}

.my-farm-role-badge.assistant {
    background: rgba(255,255,255,.94);
    color: #42644b;
}

.my-farm-body {
    padding: 17px;
}

.my-farm-kicker {
    color: #4b7756;
    font-size: 8px;
    font-weight: 800;
}

.my-farm-body h3 {
    margin: 4px 0 5px;
    color: #2d563f;
    font-size: 18px;
}

.my-farm-body > p {
    min-height: 43px;
    margin: 0;
    color: #78847b;
    font-size: 9px;
    line-height: 1.55;
}

.my-farm-location {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    margin-top: 10px;
    color: #718078;
    font-size: 8px;
}

.my-farm-primary-message {
    display: flex;
    gap: 9px;
    margin-top: 13px;
    padding: 11px 12px;
    border-radius: 13px;
    background: #eff6ec;
}

.my-farm-primary-message > i {
    color: #36704d;
    font-size: 18px;
}

.my-farm-primary-message strong,
.my-farm-primary-message span {
    display: block;
}

.my-farm-primary-message strong {
    color: #355a43;
    font-size: 9px;
}

.my-farm-primary-message span {
    margin-top: 2px;
    color: #748078;
    font-size: 7.5px;
    line-height: 1.48;
}

.my-farm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 13px;
}

.my-farms-empty {
    max-width: 650px;
    margin: 0 auto;
    padding: 48px 24px;
    text-align: center;
    border: 1px dashed rgba(48,81,56,.16);
    border-radius: 18px;
    background: #fff;
}

.my-farms-empty > i {
    color: #54785d;
    font-size: 34px;
}

.my-farms-empty h2 {
    margin: 9px 0 5px;
    color: #3d5f48;
    font-size: 18px;
}

.my-farms-empty p {
    margin: 0;
    color: #7c8980;
    font-size: 9px;
    line-height: 1.6;
}

.member-context-nav {
    border-bottom: 1px solid rgba(48,81,56,.07);
    background: #fff;
}

.member-context-nav .container {
    display: flex;
    gap: 7px;
    padding-top: 9px;
    padding-bottom: 9px;
}

.member-context-nav a,
.member-context-nav span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    color: #64766a;
    font-size: 8px;
    font-weight: 700;
}

.member-context-nav a:hover,
.member-context-nav .is-active {
    background: #eef5ea;
    color: #35694a;
}

/* Role labels: no "ผู้ดูแลสวน" in visible farm workflow */
.admin-farm-assignment select option[value="admin"] {
    display: none;
}

@media (max-width: 767px) {
    .my-farms-hero {
        padding: 24px 0 20px;
    }

    .my-farms-welcome {
        display: grid;
        gap: 14px;
    }

    .my-farms-user-badge {
        min-width: 0;
        width: 100%;
    }

    .my-farm-grid {
        grid-template-columns: 1fr;
    }

    .my-farm-cover {
        aspect-ratio: 1.55 / 1;
    }

    .my-farm-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .my-farm-actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   V48 SINGLE FARM OWNERSHIP MODE
   UI enforces one farm per farm-side account in current phase.
   ========================================================= */

.admin-farm-assignment-list.single-farm-mode {
    display: grid;
    gap: 7px;
}

.admin-farm-assignment.single-choice {
    grid-template-columns: 24px minmax(0,1fr);
    cursor: pointer;
}

.admin-farm-assignment.single-choice > input {
    width: 17px;
    height: 17px;
}

.admin-single-farm-note {
    margin: 4px 0 0;
    color: #879189;
    font-size: 7px;
    line-height: 1.5;
}

.single-my-farm-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: 16px;
    align-items: start;
}

.single-my-farm-guide {
    padding: 18px;
    border: 1px solid rgba(48,81,56,.09);
    border-radius: 17px;
    background: #fff;
}

.single-my-farm-guide h3 {
    margin: 8px 0 14px;
    color: #355842;
    font-size: 15px;
    line-height: 1.45;
}

.single-my-farm-guide-list {
    display: grid;
    gap: 9px;
}

.single-my-farm-guide-list > div {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 10px;
    border-radius: 11px;
    background: #f7faf5;
}

.single-my-farm-guide-list > div > i {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eaf3e6;
    color: #3f6f4e;
}

.single-my-farm-guide-list strong,
.single-my-farm-guide-list small {
    display: block;
}

.single-my-farm-guide-list strong {
    color: #3f5f49;
    font-size: 9px;
}

.single-my-farm-guide-list small {
    margin-top: 2px;
    color: #828e85;
    font-size: 7px;
    line-height: 1.4;
}

@media (max-width: 991px) {
    .single-my-farm-layout {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V49 OWNER-CENTERED SELLER CENTER
   No intermediate my-farms page. Member lands directly here.
   ========================================================= */

.seller-farm-identity {
    padding: 20px 0 14px;
    background:
        linear-gradient(180deg, #f6faf3 0%, #fbfcf9 100%);
}

.seller-farm-identity-card {
    display: grid;
    grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
    gap: 0;

    overflow: hidden;

    border: 1px solid rgba(48,81,56,.10);
    border-radius: 20px;

    background: #fff;

    box-shadow: 0 14px 34px rgba(39,64,43,.055);
}

.seller-farm-cover {
    min-height: 320px;
    background: #eef3eb;
}

.seller-farm-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.seller-farm-identity-copy {
    padding: 28px;
}

.seller-farm-role {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 6px 9px;

    border-radius: 999px;

    background: #edf5e9;
    color: #35694a;

    font-size: 8px;
    font-weight: 800;
}

.seller-farm-kicker {
    display: block;
    margin-top: 15px;

    color: #52745a;

    font-size: 9px;
    font-weight: 800;
}

.seller-farm-identity-copy h1 {
    margin: 4px 0 8px;

    color: #23513c;

    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.seller-farm-identity-copy > p {
    max-width: 720px;

    margin: 0;

    color: #68776d;

    font-size: 11px;
    line-height: 1.7;
}

.seller-farm-owner-message {
    display: flex;
    gap: 10px;
    align-items: flex-start;

    margin-top: 16px;
    padding: 12px 13px;

    border-radius: 13px;

    background: #f0f7ed;
}

.seller-farm-owner-message > i {
    color: #39704e;
    font-size: 19px;
}

.seller-farm-owner-message strong,
.seller-farm-owner-message span {
    display: block;
}

.seller-farm-owner-message strong {
    color: #365b44;
    font-size: 9px;
}

.seller-farm-owner-message span {
    margin-top: 2px;
    color: #76837a;
    font-size: 7.5px;
    line-height: 1.5;
}

.seller-farm-owner-message code {
    color: #386349;
    font-size: 7px;
}

.seller-farm-identity-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;

    margin-top: 16px;
}

.seller-farm-private-note {
    display: inline-flex;
    gap: 5px;
    align-items: center;

    color: #7c8980;

    font-size: 7.5px;
}

.seller-management-heading {
    padding: 16px 0 10px;
}

.seller-management-heading h2 {
    margin: 6px 0 3px;

    color: #31553f;

    font-size: 25px;
}

.seller-management-heading p {
    margin: 0;

    color: #7b877e;

    font-size: 9px;
}

.seller-farm-context-strip {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
    gap: 8px;
    align-items: center;

    margin-bottom: 12px;
    padding: 9px 10px;

    border: 1px solid rgba(48,81,56,.09);
    border-radius: 13px;

    background: #fff;
}

.seller-farm-context-strip > div {
    display: flex;
    gap: 8px;
    align-items: center;
}

.seller-farm-context-strip > div > i {
    color: #467052;
}

.seller-farm-context-strip small,
.seller-farm-context-strip strong {
    display: block;
}

.seller-farm-context-strip small {
    color: #8a948d;
    font-size: 6.5px;
}

.seller-farm-context-strip strong {
    margin-top: 1px;

    color: #405f49;

    font-size: 8px;
}

.seller-farm-context-strip > a {
    display: inline-flex;
    gap: 5px;
    align-items: center;

    color: #34684a;

    font-size: 8px;
    font-weight: 800;
}

.owner-centered-menu-grid .seller-menu-card {
    position: relative;
}

.seller-menu-card.is-primary-farm-menu {
    border-color: rgba(43,104,66,.20);
    background:
        linear-gradient(135deg, #f2f8ef 0%, #fff 75%);
}

.seller-menu-card.is-primary-farm-menu::after {
    content: 'สวนของฉัน';

    position: absolute;
    top: 10px;
    right: 10px;

    padding: 4px 7px;

    border-radius: 999px;

    background: #2f6d4b;
    color: #fff;

    font-size: 6px;
    font-weight: 800;
}

.seller-menu-preview-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;

    margin-top: 10px;
    padding-top: 8px;

    border-top: 1px solid rgba(48,81,56,.08);
}

.seller-menu-preview-row span,
.seller-menu-preview-row a {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    font-size: 7px;
    font-weight: 700;
}

.seller-menu-preview-row span {
    color: #748078;
}

.seller-menu-preview-row a {
    color: #326749;
}

.seller-public-preview-panel {
    display: grid;
    grid-template-columns: minmax(0,.68fr) minmax(340px,1.32fr);
    gap: 18px;
    align-items: center;

    margin-top: 16px;
    padding: 18px;

    border: 1px solid rgba(48,81,56,.09);
    border-radius: 18px;

    background: #fff;
}

.seller-public-preview-copy h2 {
    margin: 7px 0 6px;

    color: #31553f;

    font-size: 20px;
}

.seller-public-preview-copy p {
    margin: 0 0 12px;

    color: #7a877e;

    font-size: 8.5px;
    line-height: 1.6;
}

.seller-public-preview-browser {
    overflow: hidden;

    border: 1px solid rgba(48,81,56,.12);
    border-radius: 13px;

    background: #f8faf6;
}

.seller-preview-browser-bar {
    display: flex;
    gap: 4px;
    align-items: center;

    padding: 7px 8px;

    border-bottom: 1px solid rgba(48,81,56,.08);

    background: #fff;
}

.seller-preview-browser-bar > span {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: #c8d2ca;
}

.seller-preview-browser-bar > div {
    flex: 1;

    margin-left: 5px;
    padding: 4px 7px;

    overflow: hidden;

    border-radius: 6px;

    background: #f2f5f0;
    color: #7d8981;

    font-size: 6px;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.seller-preview-browser-content {
    position: relative;

    min-height: 210px;

    overflow: hidden;
}

.seller-preview-browser-content > img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.seller-preview-browser-content::after {
    content: '';

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(248,250,246,.96) 0%,
            rgba(248,250,246,.82) 44%,
            rgba(248,250,246,.10) 75%
        );
}

.seller-preview-browser-content > div {
    position: relative;
    z-index: 2;

    width: 58%;

    padding: 30px 22px;
}

.seller-preview-browser-content small,
.seller-preview-browser-content strong,
.seller-preview-browser-content span {
    display: block;
}

.seller-preview-browser-content small {
    color: #58725f;
    font-size: 7px;
}

.seller-preview-browser-content strong {
    margin-top: 5px;

    color: #28533e;

    font-size: 18px;
}

.seller-preview-browser-content span {
    margin-top: 5px;

    color: #6f7c73;

    font-size: 7.5px;
    line-height: 1.5;
}

@media (max-width: 991px) {
    .seller-farm-identity-card {
        grid-template-columns: 1fr;
    }

    .seller-farm-cover {
        min-height: 260px;
    }

    .seller-public-preview-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .seller-farm-identity {
        padding-top: 10px;
    }

    .seller-farm-identity-card {
        border-radius: 16px;
    }

    .seller-farm-cover {
        min-height: 210px;
    }

    .seller-farm-identity-copy {
        padding: 17px;
    }

    .seller-farm-identity-copy h1 {
        font-size: 30px;
    }

    .seller-farm-context-strip {
        grid-template-columns: 1fr;
    }

    .seller-public-preview-panel {
        padding: 13px;
    }

    .seller-preview-browser-content {
        min-height: 170px;
    }

    .seller-preview-browser-content > div {
        width: 72%;
        padding: 23px 16px;
    }
}


/* =========================================================
   V50 FARM ADMIN DASHBOARD
   ========================================================= */

body:has(.farm-admin-shell) {
    background: #f5f7f5;
}

body:has(.farm-admin-shell) .site-footer {
    display: none;
}

.farm-admin-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    background: #f5f7f5;
    color: #24362b;
}

.farm-admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1040;

    width: 220px;
    height: 100vh;

    display: flex;
    flex-direction: column;

    border-right: 1px solid #e0e6e1;

    background: #fff;
}

.farm-admin-brand {
    height: 66px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-bottom: 1px solid #edf0ed;
}

.farm-admin-brand-link {
    display: flex;
    gap: 9px;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.farm-admin-brand-link img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.farm-admin-brand-link strong,
.farm-admin-brand-link small {
    display: block;
}

.farm-admin-brand-link strong {
    color: #204a36;
    font-size: 11px;
    line-height: 1.2;
}

.farm-admin-brand-link small {
    margin-top: 2px;
    color: #87928a;
    font-size: 7px;
}

.farm-admin-current-farm {
    margin: 13px 12px 6px;
    padding: 10px 11px;
    border-radius: 11px;
    background: #eef4ef;
}

.farm-admin-current-farm span,
.farm-admin-current-farm strong,
.farm-admin-current-farm small {
    display: block;
}

.farm-admin-current-farm span {
    color: #64806b;
    font-size: 6.5px;
    font-weight: 700;
}

.farm-admin-current-farm strong {
    margin-top: 2px;
    overflow: hidden;
    color: #315a43;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.farm-admin-current-farm small {
    margin-top: 2px;
    color: #849087;
    font-size: 6.5px;
}

.farm-admin-nav {
    flex: 1;
    overflow-y: auto;
    padding: 5px 8px 18px;
}

.farm-admin-nav-group {
    margin-top: 13px;
}

.farm-admin-nav-label {
    display: block;
    padding: 0 9px 5px;
    color: #98a099;
    font-size: 6.5px;
    font-weight: 800;
    letter-spacing: .035em;
}

.farm-admin-nav-group > a {
    min-height: 37px;
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 2px 0;
    padding: 7px 9px;
    border-radius: 9px;
    color: #5d6d62;
    font-size: 8px;
    font-weight: 600;
    text-decoration: none;
}

.farm-admin-nav-group > a > i {
    width: 18px;
    color: #687a6f;
    font-size: 14px;
    text-align: center;
}

.farm-admin-nav-group > a:hover,
.farm-admin-nav-group > a.is-active {
    background: #eaf2ec;
    color: #315e45;
}

.farm-admin-nav-group > a.is-active > i {
    color: #315e45;
}

.farm-admin-nav-group > a em {
    margin-left: auto;
    min-width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: #eef2ef;
    color: #5f7465;
    font-size: 6.5px;
    font-style: normal;
}

.farm-admin-sidebar-user {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 8px;
    padding: 10px;
    border-top: 1px solid #edf0ed;
}

.farm-admin-user-avatar {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf2ec;
    color: #315f45;
    font-size: 10px;
    font-weight: 800;
}

.farm-admin-sidebar-user strong,
.farm-admin-sidebar-user span {
    display: block;
}

.farm-admin-sidebar-user strong {
    max-width: 135px;
    overflow: hidden;
    color: #3b5543;
    font-size: 7.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.farm-admin-sidebar-user span {
    margin-top: 1px;
    color: #8b958d;
    font-size: 6.5px;
}

.farm-admin-main {
    min-width: 0;
    grid-column: 2;
}

.farm-admin-topbar {
    position: sticky;
    top: 0;
    z-index: 1020;

    height: 66px;

    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;

    padding: 0 24px;

    border-bottom: 1px solid #e2e7e3;

    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.farm-admin-topbar-left {
    min-width: 0;
    display: flex;
    gap: 10px;
    align-items: center;
}

.farm-admin-topbar-left strong,
.farm-admin-topbar-left span {
    display: block;
}

.farm-admin-topbar-left strong {
    max-width: 400px;
    overflow: hidden;
    color: #314f3d;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.farm-admin-topbar-left span {
    margin-top: 1px;
    color: #8c958e;
    font-size: 6.5px;
}

.farm-admin-topbar-actions {
    display: flex;
    gap: 7px;
    align-items: center;
}

.farm-admin-preview-button,
.farm-admin-market-button,
.farm-admin-logout-button {
    min-height: 34px;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid #dde5df;
    border-radius: 9px;
    background: #fff;
    color: #4a6252;
    font-size: 7px;
    font-weight: 700;
    text-decoration: none;
}

.farm-admin-preview-button {
    border-color: #cfe0d3;
    color: #315f45;
}

.farm-admin-logout-button {
    width: 34px;
    padding: 0;
}

.farm-admin-menu-toggle {
    display: none;
    width: 36px;
    height: 36px;
    border: 1px solid #e1e6e2;
    border-radius: 9px;
    background: #fff;
    color: #496052;
}

.farm-admin-content {
    max-width: 1320px;
    margin: 0 auto;
    padding: 26px 26px 42px;
}

.farm-admin-page-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-end;
    margin-bottom: 14px;
}

.farm-admin-page-kicker {
    color: #587661;
    font-size: 7px;
    font-weight: 800;
}

.farm-admin-page-head h1 {
    margin: 3px 0 3px;
    color: #243e30;
    font-size: 22px;
}

.farm-admin-page-head p {
    margin: 0;
    color: #7d8880;
    font-size: 7.5px;
}

.farm-admin-page-head p strong {
    color: #4c6754;
}

.farm-admin-page-actions {
    display: flex;
    gap: 7px;
}

.farm-admin-primary-action,
.farm-admin-secondary-action {
    min-height: 36px;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 9px;
    font-size: 7px;
    font-weight: 800;
}

.farm-admin-primary-action {
    border: 1px solid #3f7656;
    background: #497a5d;
    color: #fff;
}

.farm-admin-secondary-action {
    border: 1px solid #dde5df;
    background: #fff;
    color: #4e6455;
}

.farm-admin-alert {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
    padding: 12px 14px;
    border: 1px solid #cfe3d3;
    border-radius: 12px;
    background: #eef7ef;
}

.farm-admin-alert > div {
    display: flex;
    gap: 10px;
    align-items: center;
}

.farm-admin-alert-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #fff;
    color: #487758;
}

.farm-admin-alert strong,
.farm-admin-alert span {
    display: block;
}

.farm-admin-alert strong {
    color: #365f45;
    font-size: 8px;
}

.farm-admin-alert span {
    margin-top: 2px;
    color: #7b8b7e;
    font-size: 6.5px;
}

.farm-admin-alert > a {
    color: #356448;
    font-size: 7px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.farm-admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.farm-admin-stat-card {
    min-height: 104px;
    display: flex;
    gap: 11px;
    align-items: flex-start;
    padding: 15px;
    border: 1px solid #e1e7e2;
    border-radius: 13px;
    background: #fff;
}

.farm-admin-stat-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    font-size: 15px;
}

.farm-admin-stat-icon.order {
    background: #edf3f8;
    color: #4b6c84;
}

.farm-admin-stat-icon.product {
    background: #f9f2e7;
    color: #9a6d2e;
}

.farm-admin-stat-icon.stock {
    background: #faeceb;
    color: #a65b58;
}

.farm-admin-stat-icon.profile {
    background: #eaf4ed;
    color: #4a7658;
}

.farm-admin-stat-card small,
.farm-admin-stat-card strong,
.farm-admin-stat-card span {
    display: block;
}

.farm-admin-stat-card small {
    color: #7c8880;
    font-size: 7px;
}

.farm-admin-stat-card strong {
    margin-top: 5px;
    color: #203b2d;
    font-size: 20px;
    line-height: 1;
}

.farm-admin-stat-card span {
    margin-top: 5px;
    color: #9aa29c;
    font-size: 6.5px;
}

.farm-admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 12px;
    align-items: start;
}

.farm-admin-dashboard-main,
.farm-admin-dashboard-side {
    display: grid;
    gap: 12px;
}

.farm-admin-panel {
    overflow: hidden;
    border: 1px solid #e1e7e2;
    border-radius: 13px;
    background: #fff;
}

.farm-admin-panel-head {
    min-height: 51px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #edf0ed;
}

.farm-admin-panel-head h2 {
    margin: 0;
    color: #294333;
    font-size: 10px;
}

.farm-admin-panel-head p {
    margin: 2px 0 0;
    color: #909991;
    font-size: 6.5px;
}

.farm-admin-panel-head > a,
.farm-admin-panel-head > span {
    color: #5c735f;
    font-size: 6.5px;
    font-weight: 700;
    text-decoration: none;
}

.farm-admin-task-list {
    display: grid;
}

.farm-admin-task-row {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #eef1ee;
}

.farm-admin-task-row:last-child {
    border-bottom: 0;
}

.farm-admin-task-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
}

.farm-admin-task-icon.payment {
    background: #eef4f8;
    color: #52748a;
}

.farm-admin-task-icon.shipping {
    background: #edf5ef;
    color: #4d7659;
}

.farm-admin-task-icon.stock {
    background: #fcf1e9;
    color: #9a6f41;
}

.farm-admin-task-icon.profile {
    background: #f0f4ed;
    color: #617662;
}

.farm-admin-task-row strong,
.farm-admin-task-row span {
    display: block;
}

.farm-admin-task-row strong {
    color: #3c5544;
    font-size: 7.5px;
}

.farm-admin-task-row span {
    margin-top: 2px;
    color: #909991;
    font-size: 6.5px;
}

.farm-admin-task-row > a {
    min-width: 63px;
    padding: 7px 9px;
    border: 1px solid #dfe6e0;
    border-radius: 8px;
    color: #536957;
    font-size: 6.5px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.farm-admin-task-empty {
    display: grid;
    place-items: center;
    padding: 28px;
    color: #7f8c82;
    text-align: center;
}

.farm-admin-task-empty i {
    color: #568063;
    font-size: 22px;
}

.farm-admin-task-empty strong,
.farm-admin-task-empty span {
    display: block;
}

.farm-admin-task-empty strong {
    margin-top: 5px;
    color: #496152;
    font-size: 8px;
}

.farm-admin-task-empty span {
    margin-top: 2px;
    font-size: 6.5px;
}

.farm-admin-orders {
    display: grid;
}

.farm-admin-order-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto 90px;
    gap: 12px;
    align-items: center;
    padding: 11px 14px;
    border-bottom: 1px solid #eef1ee;
}

.farm-admin-order-row:last-child {
    border-bottom: 0;
}

.farm-admin-order-row > div strong,
.farm-admin-order-row > div span {
    display: block;
}

.farm-admin-order-row > div strong {
    color: #3b5543;
    font-size: 7.5px;
}

.farm-admin-order-row > div span {
    margin-top: 2px;
    color: #929b94;
    font-size: 6.5px;
}

.farm-admin-order-status {
    padding: 5px 7px;
    border-radius: 999px;
    background: #f0f4f1;
    color: #617367;
    font-size: 6px;
    font-weight: 700;
}

.farm-admin-order-row > strong {
    color: #405d49;
    font-size: 7.5px;
    text-align: right;
}

.farm-admin-panel-empty {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 28px 16px;
    color: #8d978f;
    font-size: 7px;
}

.farm-admin-product-metrics {
    display: grid;
    grid-template-columns: repeat(2,1fr);
}

.farm-admin-product-metrics > div {
    min-height: 72px;
    padding: 12px;
    border-right: 1px solid #eef1ee;
    border-bottom: 1px solid #eef1ee;
}

.farm-admin-product-metrics > div:nth-child(2n) {
    border-right: 0;
}

.farm-admin-product-metrics > div:nth-last-child(-n+2) {
    border-bottom: 0;
}

.farm-admin-product-metrics span,
.farm-admin-product-metrics strong {
    display: block;
}

.farm-admin-product-metrics span {
    color: #89938b;
    font-size: 6.5px;
}

.farm-admin-product-metrics strong {
    margin-top: 5px;
    color: #284433;
    font-size: 15px;
}

.farm-admin-readiness {
    padding-bottom: 12px;
}

.farm-admin-readiness .farm-admin-panel-head {
    border-bottom: 0;
}

.farm-admin-progress {
    height: 6px;
    margin: 0 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8ede9;
}

.farm-admin-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #4f7a5d;
}

.farm-admin-readiness > p {
    margin: 10px 14px 8px;
    color: #89938b;
    font-size: 6.5px;
    line-height: 1.5;
}

.farm-admin-readiness ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0 14px;
    list-style: none;
}

.farm-admin-readiness li {
    display: flex;
    gap: 7px;
    align-items: center;
    color: #858f87;
    font-size: 6.5px;
}

.farm-admin-readiness li i {
    width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f1f3f1;
    color: #9aa19b;
}

.farm-admin-readiness li.done {
    color: #536b59;
}

.farm-admin-readiness li.done i {
    background: #ebf4ed;
    color: #4d7759;
}

.farm-admin-empty {
    max-width: 600px;
    margin: 100px auto;
    padding: 40px;
    border: 1px dashed #d7ded8;
    border-radius: 16px;
    background: #fff;
    color: #7b887e;
    text-align: center;
}

.farm-admin-empty i {
    color: #52745d;
    font-size: 32px;
}

.farm-admin-empty h1 {
    margin: 8px 0 5px;
    color: #365340;
    font-size: 18px;
}

.farm-admin-empty p {
    margin: 0;
    font-size: 8px;
}

.farm-admin-backdrop {
    display: none;
}

@media (max-width: 1100px) {
    .farm-admin-dashboard-grid {
        grid-template-columns: minmax(0,1fr) 260px;
    }
}

@media (max-width: 991px) {
    .farm-admin-shell {
        display: block;
    }

    .farm-admin-sidebar {
        transform: translateX(-100%);
        transition: transform .22s ease;
    }

    .farm-admin-sidebar.is-open {
        transform: translateX(0);
    }

    .farm-admin-main {
        width: 100%;
    }

    .farm-admin-menu-toggle {
        display: grid;
        place-items: center;
    }

    .farm-admin-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1030;
        background: rgba(17,34,23,.28);
    }

    .farm-admin-backdrop.is-open {
        display: block;
    }

    body.farm-admin-nav-open {
        overflow: hidden;
    }

    .farm-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .farm-admin-dashboard-side {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 767px) {
    .farm-admin-topbar {
        height: 60px;
        padding: 0 12px;
    }

    .farm-admin-market-button {
        display: none;
    }

    .farm-admin-preview-button {
        padding: 7px 9px;
    }

    .farm-admin-preview-button i {
        margin: 0;
    }

    .farm-admin-content {
        padding: 18px 12px 30px;
    }

    .farm-admin-page-head {
        display: grid;
        align-items: start;
    }

    .farm-admin-page-actions {
        width: 100%;
    }

    .farm-admin-page-actions button {
        flex: 1;
    }

    .farm-admin-alert {
        align-items: flex-start;
    }

    .farm-admin-alert > a {
        display: none;
    }

    .farm-admin-stat-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .farm-admin-stat-card {
        min-height: 96px;
        padding: 12px;
    }

    .farm-admin-dashboard-side {
        grid-template-columns: 1fr;
    }

    .farm-admin-task-row {
        grid-template-columns: 32px minmax(0,1fr);
    }

    .farm-admin-task-row > a {
        grid-column: 2;
        justify-self: start;
    }

    .farm-admin-order-row {
        grid-template-columns: minmax(0,1fr) auto;
    }

    .farm-admin-order-row > strong {
        grid-column: 2;
    }

    .farm-admin-order-status {
        grid-row: 2;
    }
}

@media (max-width: 480px) {
    .farm-admin-topbar-left span {
        display: none;
    }

    .farm-admin-preview-button {
        font-size: 0;
    }

    .farm-admin-preview-button i {
        font-size: 13px;
    }

    .farm-admin-stat-grid {
        grid-template-columns: 1fr;
    }

    .farm-admin-stat-card {
        min-height: auto;
    }
}


/* =========================================================
   V51 UNIFIED ADMIN LAYOUT
   Uses the same normal font scale as the public site.
   Applies to Super Admin, Community Admin, Farm Owner/Assistant.
   ========================================================= */

body:has(.admin-shell) {
    margin: 0;
    background: #f5f7f5;
}

.admin-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    background: #f5f7f5;
    color: #24362b;
}

.admin-shell-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1040;
    width: 250px;
    height: 100vh;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #e1e6e2;
    background: #fff;
}

.admin-shell-brand {
    min-height: 74px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid #edf0ed;
}

.admin-shell-brand a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}

.admin-shell-brand img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.admin-shell-brand strong,
.admin-shell-brand small {
    display: block;
}

.admin-shell-brand strong {
    color: #214a36;
    font-size: 1rem;
    line-height: 1.2;
}

.admin-shell-brand small {
    margin-top: 2px;
    color: #829087;
    font-size: .78rem;
}

.admin-shell-context {
    margin: 14px 12px 6px;
    padding: 12px 13px;
    border-radius: 12px;
    background: #eef4ef;
}

.admin-shell-context span,
.admin-shell-context strong,
.admin-shell-context small {
    display: block;
}

.admin-shell-context span {
    color: #64806b;
    font-size: .78rem;
    font-weight: 700;
}

.admin-shell-context strong {
    margin-top: 3px;
    overflow: hidden;
    color: #315a43;
    font-size: .95rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-shell-context small {
    margin-top: 3px;
    color: #7f8d84;
    font-size: .8rem;
}

.admin-shell-nav {
    flex: 1;
    overflow-y: auto;
    padding: 6px 10px 18px;
}

.admin-shell-nav-group {
    margin-top: 17px;
}

.admin-shell-nav-label {
    display: block;
    padding: 0 10px 7px;
    color: #959f98;
    font-size: .76rem;
    font-weight: 700;
}

.admin-shell-nav-group > a {
    min-height: 44px;
    display: flex;
    gap: 11px;
    align-items: center;
    margin: 3px 0;
    padding: 10px 11px;
    border-radius: 10px;
    color: #55685b;
    font-size: .95rem;
    font-weight: 600;
    text-decoration: none;
}

.admin-shell-nav-group > a > i {
    width: 20px;
    color: #687a6f;
    font-size: 1.05rem;
    text-align: center;
}

.admin-shell-nav-group > a:hover,
.admin-shell-nav-group > a.is-active {
    background: #eaf2ec;
    color: #315e45;
}

.admin-shell-nav-group > a.is-active > i {
    color: #315e45;
}

.admin-shell-user {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 8px;
    padding: 12px 10px;
    border-top: 1px solid #edf0ed;
}

.admin-shell-user-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf2ec;
    color: #315f45;
    font-size: 1rem;
    font-weight: 800;
}

.admin-shell-user strong,
.admin-shell-user span {
    display: block;
}

.admin-shell-user strong {
    max-width: 155px;
    overflow: hidden;
    color: #3b5543;
    font-size: .9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-shell-user span {
    margin-top: 2px;
    color: #87928a;
    font-size: .78rem;
}

.admin-shell-main {
    min-width: 0;
    grid-column: 2;
}

.admin-shell-topbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    min-height: 74px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 0 26px;
    border-bottom: 1px solid #e1e6e2;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(10px);
}

.admin-shell-topbar-left {
    min-width: 0;
    display: flex;
    gap: 10px;
    align-items: center;
}

.admin-shell-topbar-left strong,
.admin-shell-topbar-left span {
    display: block;
}

.admin-shell-topbar-left strong {
    color: #314f3d;
    font-size: 1rem;
}

.admin-shell-topbar-left span {
    margin-top: 2px;
    color: #849087;
    font-size: .82rem;
}

.admin-shell-topbar-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.admin-shell-preview,
.admin-shell-public-link,
.admin-shell-logout {
    min-height: 38px;
    display: inline-flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #dde5df;
    border-radius: 9px;
    background: #fff;
    color: #466051;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.admin-shell-preview {
    border-color: #cfe0d3;
    color: #315f45;
}

.admin-shell-logout {
    width: 38px;
    padding: 0;
}

.admin-shell-toggle {
    display: none;
    width: 38px;
    height: 38px;
    border: 1px solid #e0e6e1;
    border-radius: 9px;
    background: #fff;
    color: #496052;
}

.admin-shell-content {
    max-width: 1450px;
    margin: 0 auto;
    padding: 28px 28px 46px;
}

/* Normalize older farm dashboard micro typography to normal readable sizes. */
.admin-shell .farm-admin-page-kicker,
.admin-shell .farm-admin-page-head p,
.admin-shell .farm-admin-alert strong,
.admin-shell .farm-admin-alert span,
.admin-shell .farm-admin-alert > a,
.admin-shell .farm-admin-stat-card small,
.admin-shell .farm-admin-stat-card span,
.admin-shell .farm-admin-panel-head p,
.admin-shell .farm-admin-panel-head > a,
.admin-shell .farm-admin-panel-head > span,
.admin-shell .farm-admin-task-row strong,
.admin-shell .farm-admin-task-row span,
.admin-shell .farm-admin-task-row > a,
.admin-shell .farm-admin-order-row > div strong,
.admin-shell .farm-admin-order-row > div span,
.admin-shell .farm-admin-order-status,
.admin-shell .farm-admin-order-row > strong,
.admin-shell .farm-admin-panel-empty,
.admin-shell .farm-admin-product-metrics span,
.admin-shell .farm-admin-readiness > p,
.admin-shell .farm-admin-readiness li {
    font-size: .88rem;
}

.admin-shell .farm-admin-page-head h1 {
    font-size: 1.8rem;
}

.admin-shell .farm-admin-panel-head h2 {
    font-size: 1.05rem;
}

.admin-shell .farm-admin-stat-card strong {
    font-size: 1.75rem;
}

.admin-shell .farm-admin-product-metrics strong {
    font-size: 1.25rem;
}

.admin-shell .farm-admin-primary-action,
.admin-shell .farm-admin-secondary-action {
    font-size: .9rem;
}

.admin-shell .page-hero {
    padding-top: 10px;
    padding-bottom: 22px;
    background: transparent;
}

.admin-shell .page-hero .container,
.admin-shell .section-space > .container,
.admin-shell .admin-users-page .container,
.admin-shell .admin-user-form-page .container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.admin-shell .section-title {
    font-size: 2rem;
}

.admin-shell .section-description {
    font-size: 1rem;
}

.admin-shell .admin-users-toolbar span,
.admin-shell .admin-user-title-row h2,
.admin-shell .admin-user-title-row > div > span,
.admin-shell .admin-user-details,
.admin-shell .admin-user-farms,
.admin-shell .admin-user-password-state,
.admin-shell .admin-form-section-head h2,
.admin-shell .admin-form-section-head p,
.admin-shell .admin-form-grid label > span,
.admin-shell .admin-form-grid label > small,
.admin-shell .admin-form-grid input,
.admin-shell .admin-form-grid select,
.admin-shell .admin-farm-assignment select,
.admin-shell .admin-farm-check strong,
.admin-shell .admin-farm-check small,
.admin-shell .admin-user-form-help h3,
.admin-shell .admin-user-form-help p {
    font-size: .9rem;
}

.admin-shell .admin-users-toolbar strong {
    font-size: 1.45rem;
}

.admin-shell .admin-user-card {
    padding: 16px;
}

.admin-shell-backdrop {
    display: none;
}

@media (max-width: 991px) {
    .admin-shell {
        display: block;
    }

    .admin-shell-sidebar {
        transform: translateX(-100%);
        transition: transform .22s ease;
    }

    .admin-shell-sidebar.is-open {
        transform: translateX(0);
    }

    .admin-shell-main {
        width: 100%;
    }

    .admin-shell-toggle {
        display: grid;
        place-items: center;
    }

    .admin-shell-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1030;
        background: rgba(17,34,23,.28);
    }

    .admin-shell-backdrop.is-open {
        display: block;
    }

    body.admin-shell-nav-open {
        overflow: hidden;
    }

    .admin-shell-content {
        padding: 22px 18px 36px;
    }
}

@media (max-width: 767px) {
    .admin-shell-topbar {
        min-height: 62px;
        padding: 0 12px;
    }

    .admin-shell-public-link {
        display: none;
    }

    .admin-shell-content {
        padding: 18px 12px 30px;
    }

    .admin-shell-topbar-left span {
        display: none;
    }

    .admin-shell .farm-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V52 GROUP + FARM IDENTITY
   Brand = overall group, Context = currently managed group/farm.
   ========================================================= */

.admin-shell-brand {
    min-height: 82px;
}

.admin-shell-brand img {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    object-fit: contain;
    background: #fff;
}

.admin-shell-brand strong {
    font-size: 1.02rem;
}

.admin-shell-brand small {
    font-size: .8rem;
}

.admin-shell-context {
    display: grid;
    grid-template-columns: 50px minmax(0,1fr);
    gap: 11px;
    align-items: center;
    margin: 14px 12px 7px;
    padding: 11px;
    background: #eef4ef;
}

.admin-shell-context-logo {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(48,81,56,.10);
    border-radius: 12px;
    background: #fff;
}

.admin-shell-context-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.admin-shell-context-logo i {
    color: #477057;
    font-size: 1.35rem;
}

.admin-shell-context-copy {
    min-width: 0;
}

.admin-shell-context-copy span,
.admin-shell-context-copy strong,
.admin-shell-context-copy small {
    display: block;
}

.admin-shell-context-copy span {
    color: #64806b;
    font-size: .78rem;
    font-weight: 700;
}

.admin-shell-context-copy strong {
    margin-top: 2px;
    overflow: hidden;
    color: #284f39;
    font-size: .96rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-shell-context-copy small {
    margin-top: 2px;
    color: #7f8d84;
    font-size: .8rem;
}

@media (max-width: 991px) {
    .admin-shell-brand {
        min-height: 74px;
    }
}


/* =========================================================
   V53 MOVE CURRENT CONTEXT TO TOPBAR
   ========================================================= */

.admin-shell-context {
    display: none !important;
}

.admin-shell-topbar {
    min-height: 72px;
}

.admin-shell-topbar-left {
    flex: 1;
}

.admin-shell-topbar-context {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-shell-topbar-context-logo {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(48,81,56,.10);
    border-radius: 9px;
    background: #fff;
}

.admin-shell-topbar-context-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 3px;
}

.admin-shell-topbar-context-logo i {
    color: #477057;
    font-size: 1.05rem;
}

.admin-shell-topbar-context-copy {
    min-width: 0;
}

.admin-shell-topbar-context-copy small,
.admin-shell-topbar-context-copy strong,
.admin-shell-topbar-context-copy span {
    display: block;
}

.admin-shell-topbar-context-copy small {
    color: #6e8375;
    font-size: .72rem;
    font-weight: 700;
}

.admin-shell-topbar-context-copy strong {
    margin-top: 1px;
    max-width: 420px;
    overflow: hidden;
    color: #2d523c;
    font-size: .98rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-shell-topbar-context-copy span {
    margin-top: 1px;
    color: #89938c;
    font-size: .74rem;
}

.admin-shell-topbar-title strong,
.admin-shell-topbar-title span {
    display: block;
}

.admin-shell-topbar-title strong {
    color: #314f3d;
    font-size: 1rem;
}

.admin-shell-topbar-title span {
    margin-top: 2px;
    color: #849087;
    font-size: .82rem;
}

.admin-content-heading {
    margin-bottom: 18px;
}

.admin-content-heading h1 {
    margin: 0;
    color: #244633;
    font-size: 1.8rem;
    line-height: 1.2;
}

.admin-content-heading p {
    margin: 5px 0 0;
    color: #7e8b82;
    font-size: 1rem;
}

@media (max-width: 767px) {
    .admin-shell-topbar-context-copy strong {
        max-width: 180px;
    }

    .admin-shell-topbar-context-copy span {
        display: none;
    }

    .admin-shell-topbar-context-copy small {
        font-size: .68rem;
    }

    .admin-shell-topbar-context-logo {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }
}


/* =========================================================
   V54 CLEAN ADMIN SPACING / REMOVE DUPLICATE HEADINGS
   ========================================================= */

/* V53 injected a second generic page heading above the native page header.
   V54 keeps only the native page header and brings content closer to the topbar. */
.admin-content-heading {
    display: none !important;
}

.admin-shell-content {
    padding-top: 18px;
}

/* Farm dashboard native heading */
.admin-shell .farm-admin-page-head {
    margin-top: 0;
    margin-bottom: 14px;
}

/* Admin pages that still use a page-hero/native section header */
.admin-shell .page-hero {
    padding-top: 0;
    padding-bottom: 16px;
    margin-top: 0;
}

.admin-shell .page-hero + .section-space,
.admin-shell .page-hero + section {
    margin-top: 0;
}

.admin-shell .section-space.pt-0 {
    padding-top: 0 !important;
}

/* Keep topbar and first content block visually connected without feeling cramped. */
.admin-shell-content > :first-child {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    .admin-shell-content {
        padding-top: 14px;
    }

    .admin-shell .farm-admin-page-head {
        margin-bottom: 12px;
    }
}


/* =========================================================
   V55 FARM PROFILE EDIT
   Step 1: text/basic farm information only.
   ========================================================= */

.farm-profile-page-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-end;
    margin-bottom: 16px;
}

.farm-profile-page-head h1 {
    margin: 3px 0 4px;
    color: #244633;
    font-size: 1.8rem;
}

.farm-profile-page-head p {
    margin: 0;
    color: #7d8980;
    font-size: .95rem;
}

.farm-profile-page-head p strong {
    color: #486652;
}

.farm-profile-slug {
    min-width: 220px;
    padding: 10px 12px;
    border: 1px solid #dfe6e0;
    border-radius: 10px;
    background: #fff;
}

.farm-profile-slug span,
.farm-profile-slug code {
    display: block;
}

.farm-profile-slug span {
    color: #869188;
    font-size: .78rem;
}

.farm-profile-slug code {
    margin-top: 3px;
    overflow: hidden;
    color: #3d634a;
    font-size: .86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.farm-profile-alert {
    margin-bottom: 12px;
}

.farm-profile-form {
    display: grid;
    gap: 14px;
}

.farm-profile-card {
    overflow: hidden;
    border: 1px solid #e1e7e2;
    border-radius: 13px;
    background: #fff;
}

.farm-profile-card-head {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 15px 16px 12px;
    border-bottom: 1px solid #edf0ed;
}

.farm-profile-section-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #edf4ef;
    color: #426e50;
    font-size: 1rem;
}

.farm-profile-card-head h2 {
    margin: 0;
    color: #304f3b;
    font-size: 1.05rem;
}

.farm-profile-card-head p {
    margin: 3px 0 0;
    color: #88938b;
    font-size: .86rem;
}

.farm-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    padding: 16px;
}

.farm-profile-grid label {
    display: grid;
    gap: 6px;
}

.farm-profile-grid label > span {
    color: #4d6755;
    font-size: .92rem;
    font-weight: 700;
}

.farm-profile-grid label > small {
    color: #8a958d;
    font-size: .8rem;
}

.farm-profile-grid input,
.farm-profile-grid textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dce4de;
    border-radius: 9px;
    background: #fff;
    color: #314b3a;
    font: inherit;
    line-height: 1.5;
}

.farm-profile-grid input {
    min-height: 44px;
}

.farm-profile-grid textarea {
    resize: vertical;
}

.farm-profile-grid input:focus,
.farm-profile-grid textarea:focus {
    outline: none;
    border-color: #7da188;
    box-shadow: 0 0 0 3px rgba(72,122,89,.08);
}

.farm-profile-full {
    grid-column: 1 / -1;
}

.farm-profile-savebar {
    position: sticky;
    bottom: 0;
    z-index: 20;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #dce5de;
    border-radius: 12px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 -8px 24px rgba(42,67,48,.05);
    backdrop-filter: blur(8px);
}

.farm-profile-savebar > div {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    color: #7e8b82;
    font-size: .84rem;
}

.farm-profile-savebar > div i {
    margin-top: 2px;
    color: #547661;
}

@media (max-width: 767px) {
    .farm-profile-page-head {
        display: grid;
        align-items: start;
    }

    .farm-profile-slug {
        min-width: 0;
        width: 100%;
    }

    .farm-profile-grid {
        grid-template-columns: 1fr;
        padding: 13px;
    }

    .farm-profile-full {
        grid-column: auto;
    }

    .farm-profile-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .farm-profile-savebar .farm-admin-primary-action {
        width: 100%;
    }
}


/* =========================================================
   V56 CENTRAL ADMIN COMPLETE
   ========================================================= */
.central-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:16px}
.central-page-head h1{margin:3px 0 4px;color:#244633;font-size:1.8rem}
.central-page-head p{margin:0;color:#7d8980;font-size:.95rem}
.central-page-head-actions{align-items:center}.central-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.central-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.central-stat-card{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #e1e7e2;border-radius:13px;background:#fff;color:inherit;text-decoration:none}
.central-stat-card>i{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:#edf4ef;color:#416e50;font-size:1.05rem}
.central-stat-card small,.central-stat-card strong,.central-stat-card span{display:block}.central-stat-card small{color:#7c8880;font-size:.84rem}.central-stat-card strong{margin-top:4px;color:#203b2d;font-size:1.65rem;line-height:1}.central-stat-card span{margin-top:5px;color:#89948c;font-size:.8rem}
.central-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;margin-bottom:12px}
.central-panel{overflow:hidden;border:1px solid #e1e7e2;border-radius:13px;background:#fff;margin-bottom:12px}
.central-panel-head{min-height:54px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid #edf0ed}
.central-panel-head h2{margin:0;color:#294333;font-size:1.02rem}.central-panel-head p{margin:2px 0 0;color:#89948c;font-size:.82rem}.central-panel-head>a{color:#4d6b56;font-size:.84rem;font-weight:700;text-decoration:none}
.central-action-list{display:grid}.central-action-list>a{display:flex;gap:11px;align-items:center;padding:13px 15px;border-bottom:1px solid #eef1ee;color:inherit;text-decoration:none}.central-action-list>a:last-child{border-bottom:0}.central-action-list>a>i{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef4ef;color:#4e7659}.central-action-list strong,.central-action-list small{display:block}.central-action-list strong{color:#3d5645;font-size:.9rem}.central-action-list small{margin-top:2px;color:#8c968e;font-size:.8rem}
.central-sales-body{padding:22px 16px}.central-sales-body small,.central-sales-body strong,.central-sales-body span{display:block}.central-sales-body small{color:#89948c;font-size:.84rem}.central-sales-body strong{margin-top:7px;color:#244633;font-size:1.65rem}.central-sales-body span{margin-top:5px;color:#7f8b82;font-size:.85rem}
.central-table-wrap{overflow-x:auto}.central-table{width:100%;border-collapse:collapse;min-width:760px}.central-table th,.central-table td{padding:12px 14px;border-bottom:1px solid #edf0ed;text-align:left;vertical-align:middle;font-size:.88rem}.central-table th{background:#fbfcfb;color:#718077;font-size:.78rem;font-weight:700;white-space:nowrap}.central-table td{color:#506255}.central-table tbody tr:last-child td{border-bottom:0}.central-table td strong,.central-table td small{display:block}.central-table td strong{color:#344f3d;font-size:.9rem}.central-table td small{margin-top:2px;color:#929b94;font-size:.76rem}.central-table td>a{color:#3d6a4b;font-weight:700;text-decoration:none}.central-row-actions{display:flex;gap:10px;white-space:nowrap}.central-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef4ef;color:#4f6a57;font-size:.76rem;font-weight:700}.central-empty{padding:28px 16px;color:#8a958c;text-align:center;font-size:.9rem}
.central-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;padding:10px;border:1px solid #e1e7e2;border-radius:12px;background:#fff}.central-filter-bar input,.central-filter-bar select{min-height:40px;padding:8px 10px;border:1px solid #dce4de;border-radius:8px;background:#fff;color:#3c5444;font:inherit;font-size:.88rem}.central-filter-bar input{min-width:260px;flex:1}.central-filter-bar select{min-width:160px}
.central-form{display:grid;gap:13px}.central-form-card{overflow:hidden;border:1px solid #e1e7e2;border-radius:13px;background:#fff}.central-form-card-head{padding:14px 16px;border-bottom:1px solid #edf0ed}.central-form-card-head h2{margin:0;color:#304f3b;font-size:1.05rem}.central-form-card-head p{margin:3px 0 0;color:#88938b;font-size:.84rem}.central-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.central-form-grid.compact{padding:14px}.central-form-grid label{display:grid;gap:6px}.central-form-grid label>span,.central-field-label{color:#4d6755;font-size:.9rem;font-weight:700}.central-form-grid label>small{color:#8a958d;font-size:.78rem}.central-form-grid input,.central-form-grid textarea,.central-form-grid select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #dce4de;border-radius:9px;background:#fff;color:#314b3a;font:inherit;font-size:.9rem;line-height:1.5}.central-form-grid textarea{resize:vertical}.central-form-full{grid-column:1/-1}.central-check-line{display:flex!important;align-items:center;gap:8px!important;padding-top:26px}.central-check-line input{width:18px!important;min-height:18px!important}.central-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.central-check{display:flex!important;gap:8px!important;align-items:flex-start;padding:10px;border:1px solid #e3e8e4;border-radius:9px;background:#fbfcfb}.central-check input{width:17px!important;min-height:17px!important}.central-check strong,.central-check small{display:block}.central-check strong{font-size:.88rem;color:#3e5847}.central-check small{font-size:.76rem;color:#87928a}
.central-savebar{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:8px;align-items:center;padding:11px 13px;border:1px solid #dce5de;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(42,67,48,.05);backdrop-filter:blur(8px)}
.central-two-col{display:grid;grid-template-columns:360px minmax(0,1fr);gap:12px;align-items:start}.central-form-compact{position:sticky;top:88px}
.central-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}.central-detail-main,.central-detail-side{display:grid;gap:12px}.central-payment-block{padding:13px 15px;border-bottom:1px solid #edf0ed}.central-payment-block:last-child{border-bottom:0}.central-payment-block>div{display:flex;justify-content:space-between;gap:10px}.central-payment-block strong{color:#3b5543}.central-payment-block small,.central-payment-block a{display:block;margin-top:5px;font-size:.82rem}.central-payment-block a{color:#3d6b4b;font-weight:700}.central-info-list{display:grid}.central-info-list>div{padding:11px 14px;border-bottom:1px solid #edf0ed}.central-info-list>div:last-child{border-bottom:0}.central-info-list span,.central-info-list strong{display:block}.central-info-list span{color:#8b958d;font-size:.78rem}.central-info-list strong{margin-top:3px;color:#3e5847;font-size:.88rem;font-weight:600}.central-history{display:grid}.central-history>div{padding:11px 14px;border-bottom:1px solid #edf0ed}.central-history strong,.central-history span,.central-history small{display:block}.central-history strong{color:#405b49;font-size:.88rem}.central-history span,.central-history small{margin-top:2px;color:#89948c;font-size:.76rem}.central-switch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.central-switch-list label{display:flex!important;align-items:center;gap:7px!important;padding:9px;border:1px solid #e4e9e5;border-radius:8px}.central-switch-list input{width:17px!important;min-height:17px!important}
@media(max-width:1100px){.central-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.central-dashboard-grid,.central-detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.central-two-col{grid-template-columns:1fr}.central-form-compact{position:static}}
@media(max-width:767px){.central-page-head{display:grid;align-items:start}.central-stat-grid{grid-template-columns:1fr}.central-form-grid{grid-template-columns:1fr;padding:13px}.central-form-full{grid-column:auto}.central-check-grid,.central-switch-list{grid-template-columns:1fr}.central-filter-bar{display:grid}.central-filter-bar input,.central-filter-bar select{min-width:0;width:100%}.central-savebar{flex-direction:column-reverse;align-items:stretch}.central-savebar a,.central-savebar button{width:100%;justify-content:center}}


/* V57 LINE automatic notification setup */
.line-setup-status {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(180px,.7fr);
    gap: 10px;
    margin-bottom: 12px;
}

.line-setup-status > div {
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid #dfe6e0;
    border-radius: 11px;
    background: #fff;
}

.line-setup-status span,
.line-setup-status strong,
.line-setup-status small {
    display: block;
}

.line-setup-status span {
    color: #839087;
    font-size: .78rem;
}

.line-setup-status strong {
    margin-top: 3px;
    overflow: hidden;
    color: #3b5a46;
    font-size: .88rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.line-setup-status small {
    margin-top: 3px;
    overflow: hidden;
    color: #89948c;
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .line-setup-status {
        grid-template-columns: 1fr;
    }
}


/* V58 LINE server configuration status */
.line-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.line-status-card {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid #e1e7e2;
    border-radius: 12px;
    background: #fff;
}

.line-status-card > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #edf4ef;
    color: #4c7459;
}

.line-status-card.is-missing > span {
    background: #fbefea;
    color: #a86453;
}

.line-status-card small,
.line-status-card strong,
.line-status-card em {
    display: block;
}

.line-status-card small {
    color: #839087;
    font-size: .78rem;
}

.line-status-card strong {
    margin-top: 3px;
    color: #355342;
    font-size: .94rem;
}

.line-status-card em {
    margin-top: 3px;
    color: #8c968f;
    font-size: .74rem;
    font-style: normal;
}

.line-status-detail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
}

.line-status-detail > div {
    min-width: 0;
    padding: 13px 15px;
    border-right: 1px solid #edf0ed;
    border-bottom: 1px solid #edf0ed;
}

.line-status-detail > div:nth-child(2n) {
    border-right: 0;
}

.line-status-detail > div:nth-last-child(-n+2) {
    border-bottom: 0;
}

.line-status-detail span,
.line-status-detail strong,
.line-status-detail small {
    display: block;
}

.line-status-detail span {
    color: #87938a;
    font-size: .78rem;
}

.line-status-detail strong {
    margin-top: 3px;
    overflow: hidden;
    color: #3b5845;
    font-size: .9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.line-status-detail small {
    margin-top: 3px;
    color: #929b94;
    font-size: .72rem;
}

.line-checklist {
    display: grid;
    gap: 8px;
    padding: 14px 15px;
}

.line-checklist > div {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #7e8982;
    font-size: .88rem;
}

.line-checklist > div i {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f0f3f1;
}

.line-checklist > div.done {
    color: #4a6d55;
}

.line-checklist > div.done i {
    background: #eaf4ec;
    color: #4d7759;
}

@media (max-width: 1000px) {
    .line-status-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 650px) {
    .line-status-grid,
    .line-status-detail {
        grid-template-columns: 1fr;
    }

    .line-status-detail > div {
        border-right: 0;
    }

    .line-status-detail > div:nth-last-child(-n+2) {
        border-bottom: 1px solid #edf0ed;
    }

    .line-status-detail > div:last-child {
        border-bottom: 0;
    }
}


/* V62 Payment slip modal preview */
.central-slip-preview-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 7px;
    padding: 8px 11px;
    border: 1px solid #d8e2da;
    border-radius: 8px;
    background: #fff;
    color: #3f684c;
    font: inherit;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
}

.central-slip-preview-btn:hover {
    background: #f5f9f6;
}

body.central-modal-open {
    overflow: hidden;
}

.central-slip-modal[hidden] {
    display: none !important;
}

.central-slip-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 18px;
}

.central-slip-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 28, 20, .72);
    backdrop-filter: blur(2px);
}

.central-slip-modal-dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 760px);
    max-height: calc(100vh - 36px);
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.central-slip-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #e8ece9;
}

.central-slip-modal-head small,
.central-slip-modal-head strong {
    display: block;
}

.central-slip-modal-head small {
    color: #8a958d;
    font-size: .76rem;
}

.central-slip-modal-head strong {
    margin-top: 2px;
    color: #31513d;
    font-size: .94rem;
}

.central-slip-modal-close {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border: 1px solid #dde4df;
    border-radius: 50%;
    background: #fff;
    color: #486252;
    cursor: pointer;
}

.central-slip-modal-body {
    display: grid;
    place-items: center;
    max-height: calc(100vh - 110px);
    padding: 12px;
    overflow: auto;
    background: #f5f7f5;
}

.central-slip-modal-body img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 138px);
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
}

@media (max-width: 600px) {
    .central-slip-modal {
        padding: 0;
        align-items: stretch;
    }

    .central-slip-modal-dialog {
        width: 100vw;
        max-height: 100dvh;
        border-radius: 0;
    }

    .central-slip-modal-body {
        min-height: calc(100dvh - 63px);
        max-height: calc(100dvh - 63px);
        padding: 8px;
    }

    .central-slip-modal-body img {
        max-height: calc(100dvh - 79px);
    }

    .central-slip-modal-close {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
}


/* V63 Central order operations */
.central-order-action-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    padding: 14px 16px;
    border: 1px solid #cfe2d4;
    border-radius: 13px;
    background: #f0f8f2;
}

.central-order-action-copy strong,
.central-order-action-copy small {
    display: block;
}

.central-order-action-copy strong {
    margin-top: 2px;
    color: #31533d;
    font-size: .98rem;
}

.central-order-action-copy small {
    margin-top: 3px;
    color: #77877c;
    font-size: .81rem;
}

.central-order-action-buttons {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.central-order-action-buttons form {
    margin: 0;
}

.central-danger-outline,
.central-danger-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    font: inherit;
    font-size: .86rem;
    font-weight: 700;
    cursor: pointer;
}

.central-danger-outline {
    border: 1px solid #e2c7c2;
    background: #fff;
    color: #99574d;
}

.central-danger-outline:hover {
    background: #fff6f4;
}

.central-danger-action {
    border: 1px solid #a95649;
    background: #a95649;
    color: #fff;
}

.central-order-override {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 14px 15px;
}

.central-order-override strong,
.central-order-override small {
    display: block;
}

.central-order-override strong {
    color: #465d4d;
    font-size: .9rem;
}

.central-order-override small {
    margin-top: 3px;
    color: #87928a;
    font-size: .78rem;
}

.central-payment-rejection {
    margin-top: 8px;
    padding: 9px 10px;
    border: 1px solid #efd8d3;
    border-radius: 8px;
    background: #fff8f6;
}

.central-payment-rejection strong,
.central-payment-rejection span {
    display: block;
}

.central-payment-rejection strong {
    color: #9a5e53;
    font-size: .77rem;
}

.central-payment-rejection span {
    margin-top: 2px;
    color: #755d58;
    font-size: .8rem;
}

.central-order-dialog[hidden] {
    display: none !important;
}

.central-order-dialog {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: grid;
    place-items: center;
    padding: 18px;
}

.central-order-dialog-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 28, 20, .68);
    backdrop-filter: blur(2px);
}

.central-order-dialog-card {
    position: relative;
    z-index: 1;
    width: min(92vw, 500px);
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.central-order-dialog-card > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-bottom: 1px solid #e7ece8;
}

.central-order-dialog-card > header small,
.central-order-dialog-card > header strong {
    display: block;
}

.central-order-dialog-card > header small {
    color: #8a958d;
    font-size: .75rem;
}

.central-order-dialog-card > header strong {
    margin-top: 2px;
    color: #3e5947;
    font-size: .95rem;
}

.central-order-dialog-card > header button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #dfe5e0;
    border-radius: 50%;
    background: #fff;
    color: #506657;
    cursor: pointer;
}

.central-order-dialog-card form {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.central-order-dialog-card label {
    display: grid;
    gap: 6px;
}

.central-order-dialog-card label span {
    color: #4b6654;
    font-size: .86rem;
    font-weight: 700;
}

.central-order-dialog-card textarea {
    width: 100%;
    min-height: 110px;
    padding: 10px 11px;
    border: 1px solid #dce4de;
    border-radius: 9px;
    background: #fff;
    color: #334e3b;
    font: inherit;
    font-size: .88rem;
    line-height: 1.5;
    resize: vertical;
}

.central-order-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 700px) {
    .central-order-action-panel,
    .central-order-override {
        align-items: stretch;
        flex-direction: column;
    }

    .central-order-action-buttons,
    .central-order-action-buttons form,
    .central-order-action-buttons button,
    .central-order-action-buttons .farm-admin-primary-action,
    .central-order-override > button {
        width: 100%;
    }

    .central-order-dialog {
        padding: 10px;
    }

    .central-order-dialog-card {
        width: 100%;
    }

    .central-order-dialog-actions {
        flex-direction: column-reverse;
    }

    .central-order-dialog-actions button {
        width: 100%;
    }
}


/* =========================================================
   V64 SUPER ADMIN FINAL AUDIT & POLISH
   ========================================================= */

/* One page-heading language for every Central Admin module */
.central-page-head {
    min-height: 92px;
    margin: 0 0 14px;
    padding: 16px 0 13px;
    border-bottom: 1px solid #e5eae6;
}

.central-page-head-copy {
    min-width: 0;
}

.central-page-head .farm-admin-page-kicker {
    display: block;
    margin: 0 0 3px;
    color: #55735e;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.35;
}

.central-page-head h1 {
    margin: 0;
    color: #214432;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
}

.central-page-head p {
    max-width: 760px;
    margin: 4px 0 0;
    color: #7c8980;
    font-size: .9rem;
    line-height: 1.5;
}

.central-page-head-actions {
    align-items: center;
}

.central-head-actions {
    align-items: center;
}

.central-page-section {
    margin: 0;
    padding: 0;
}

/* Remove old public-page container spacing when legacy admin components remain */
.admin-shell-content .admin-users-toolbar,
.admin-shell-content .admin-users-list,
.admin-shell-content .admin-user-form-layout,
.admin-shell-content .admin-user-table-wrap,
.admin-shell-content .db-health-grid,
.admin-shell-content .db-count-grid {
    width: 100%;
}

/* Stable tables: headers and every data row share the same columns */
.central-table {
    table-layout: fixed;
}

.central-table th,
.central-table td {
    vertical-align: middle;
}

.central-table-farms .col-farm-name { width: 30%; }
.central-table-farms .col-responsible { width: 24%; }
.central-table-farms .col-count { width: 10%; }
.central-table-farms .col-status { width: 16%; }
.central-table-farms .col-actions { width: 20%; }

.central-table-products .col-product-name { width: 24%; }
.central-table-products .col-product-farm { width: 18%; }
.central-table-products .col-product-category { width: 13%; }
.central-table-products .col-product-price { width: 12%; }
.central-table-products .col-product-stock { width: 14%; }
.central-table-products .col-product-status { width: 10%; }
.central-table-products .col-actions { width: 9%; }

.central-actions-heading {
    text-align: right !important;
}

.central-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.central-row-actions a {
    white-space: nowrap;
}

/* Keep long values from forcing columns out of line */
.central-table td {
    overflow-wrap: anywhere;
}

.central-table td small {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Legacy user module brought into the same visual rhythm */
.admin-users-toolbar {
    margin: 0 0 12px;
}

.admin-user-card {
    margin-bottom: 10px;
}

.admin-user-form-layout {
    margin-top: 0;
}

/* Database status no longer looks like a public landing page */
.db-health-grid {
    margin-top: 0;
}

@media (max-width: 900px) {
    .central-page-head {
        min-height: 0;
        padding-top: 12px;
    }

    .central-page-head-actions {
        align-items: stretch;
    }

    .central-head-actions {
        width: 100%;
    }

    .central-head-actions > a {
        flex: 1 1 auto;
        justify-content: center;
    }

    .central-table {
        table-layout: auto;
    }

    .central-table-farms,
    .central-table-products {
        min-width: 820px;
    }
}

@media (max-width: 600px) {
    .central-page-head h1 {
        font-size: 1.45rem;
    }

    .central-page-head p {
        font-size: .86rem;
    }
}


/* =========================================================
   V65 SUPER ADMIN TABLE POLISH
   ========================================================= */

/*
 * Keep each table row as one visual row.
 * The action cell previously used display:flex directly on <td>,
 * which caused its border box to behave differently from sibling cells.
 */
.central-table .central-row-actions {
    display: table-cell;
    text-align: right;
    white-space: nowrap;
}

.central-table .central-row-actions > a {
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}

.central-table .central-row-actions > a:first-child {
    margin-left: 0;
}

.central-table th,
.central-table td {
    border-bottom: 1px solid #e8ede9;
}

.central-table tbody tr:last-child > td {
    border-bottom: 0;
}

.central-table thead th {
    height: 44px;
}

.central-table tbody td {
    min-height: 54px;
}

/* Shared cell behavior */
.central-cell-primary strong,
.central-cell-primary small,
.central-cell-stock span,
.central-cell-stock small {
    display: block;
}

.central-cell-primary strong {
    line-height: 1.35;
}

.central-cell-primary small {
    margin-top: 3px;
}

.central-cell-count,
.central-cell-price,
.central-cell-status {
    white-space: nowrap;
}

/* Farms */
.central-table-farms .col-farm-name { width: 30%; }
.central-table-farms .col-responsible { width: 24%; }
.central-table-farms .col-count { width: 10%; }
.central-table-farms .col-status { width: 15%; }
.central-table-farms .col-actions { width: 21%; }

/* Products */
.central-table-products .col-product-name { width: 24%; }
.central-table-products .col-product-farm { width: 18%; }
.central-table-products .col-product-category { width: 13%; }
.central-table-products .col-product-price { width: 12%; }
.central-table-products .col-product-stock { width: 14%; }
.central-table-products .col-product-status { width: 10%; }
.central-table-products .col-actions { width: 9%; }

.central-cell-stock {
    line-height: 1.25;
}

.central-cell-stock small {
    margin-top: 2px;
    color: #76847b;
    font-size: .8rem;
}

/* News / knowledge: prioritize the title, keep metadata compact */
.central-table-contents .col-content-title { width: 40%; }
.central-table-contents .col-content-type { width: 11%; }
.central-table-contents .col-content-category { width: 17%; }
.central-table-contents .col-content-scope { width: 14%; }
.central-table-contents .col-content-status { width: 10%; }
.central-table-contents .col-actions { width: 8%; }

.central-content-title-cell strong {
    max-width: 100%;
    line-height: 1.4;
}

.central-content-title-cell small {
    margin-top: 4px;
}

.central-table-contents td:not(.central-content-title-cell) {
    white-space: nowrap;
}

/* Do not create unnecessarily tall rows on desktop */
@media (min-width: 901px) {
    .central-table-farms td,
    .central-table-products td {
        padding-top: 11px;
        padding-bottom: 11px;
    }

    .central-table-contents td {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

@media (max-width: 900px) {
    .central-table .central-row-actions {
        display: table-cell;
    }

    .central-table-contents {
        min-width: 850px;
    }
}


/* =========================================================
   V66 MANAGEMENT ANALYTICS DASHBOARD
   ========================================================= */
.analytics-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 8px;
    border: 1px solid #e0e7e2;
    border-radius: 12px;
    background: #fff;
}

.analytics-period-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.analytics-period-tabs a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 8px;
    color: #627267;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
}

.analytics-period-tabs a.is-active {
    background: #eaf3ec;
    color: #31583f;
}

.analytics-farm-filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.analytics-farm-filter label {
    color: #7a887f;
    font-size: .8rem;
    white-space: nowrap;
}

.analytics-farm-filter select {
    min-width: 220px;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid #dbe4dd;
    border-radius: 8px;
    background: #fff;
    color: #405747;
    font: inherit;
    font-size: .85rem;
}

.analytics-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.analytics-kpi {
    display: flex;
    gap: 11px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #e0e7e2;
    border-radius: 12px;
    background: #fff;
}

.analytics-kpi-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #edf5ef;
    color: #4a7557;
}

.analytics-kpi small,
.analytics-kpi strong,
.analytics-kpi span {
    display: block;
}

.analytics-kpi small {
    color: #7f8c83;
    font-size: .77rem;
}

.analytics-kpi strong {
    margin-top: 4px;
    color: #244833;
    font-size: 1.42rem;
    line-height: 1.1;
}

.analytics-kpi span {
    margin-top: 5px;
    color: #8a958d;
    font-size: .75rem;
}

.analytics-kpi-secondary {
    min-height: 92px;
    align-items: center;
}

.analytics-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr);
    gap: 12px;
    margin-bottom: 12px;
}

.analytics-two-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.analytics-chart-wrap {
    height: 310px;
    padding: 12px 14px 16px;
}

.analytics-status-list {
    display: grid;
}

.analytics-status-list > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #edf1ee;
}

.analytics-status-list > div:last-child {
    border-bottom: 0;
}

.analytics-status-list span {
    color: #526659;
    font-size: .86rem;
}

.analytics-status-list strong {
    color: #284a35;
    font-size: 1rem;
}

.analytics-ranking {
    display: grid;
}

.analytics-ranking-row {
    display: grid;
    grid-template-columns: 32px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 11px 14px;
    border-bottom: 1px solid #edf1ee;
}

.analytics-ranking-row:last-child {
    border-bottom: 0;
}

.analytics-rank {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #f1f5f2;
    color: #597061;
    font-size: .78rem;
    font-weight: 700;
}

.analytics-ranking-row strong,
.analytics-ranking-row small {
    display: block;
}

.analytics-ranking-row strong {
    color: #3c5745;
    font-size: .86rem;
}

.analytics-ranking-row small {
    margin-top: 2px;
    color: #879289;
    font-size: .75rem;
}

.analytics-ranking-row b {
    color: #315640;
    font-size: .86rem;
    white-space: nowrap;
}

.analytics-recent-table {
    min-width: 800px;
}

@media (max-width: 1150px) {
    .analytics-kpi-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .analytics-main-grid,
    .analytics-two-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .analytics-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-period-tabs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    .analytics-period-tabs a {
        padding-left: 6px;
        padding-right: 6px;
    }

    .analytics-farm-filter {
        display: grid;
        grid-template-columns: 1fr;
    }

    .analytics-farm-filter select {
        width: 100%;
        min-width: 0;
    }

    .analytics-kpi-grid {
        grid-template-columns: 1fr;
    }

    .analytics-chart-wrap {
        height: 260px;
    }
}


/* V68 Organization profile management */
.organization-admin-form .central-form-card-head p {
    margin: 3px 0 0;
    color: #839087;
    font-size: .8rem;
}

.organization-long-text {
    line-height: 1.65;
}

.organization-two-textareas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.organization-two-textareas > label {
    grid-column: auto;
}

@media (max-width: 800px) {
    .organization-two-textareas {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V69 MEDIA UPLOAD MANAGEMENT + USER FIELD ALIGNMENT
   ========================================================= */

/* Username / display-name pair: same label/input baseline */
.admin-form-grid > .admin-user-account-field {
    display: grid;
    grid-template-rows: 24px 54px auto;
    align-content: start;
}

.admin-user-field-label {
    display: flex;
    align-items: flex-start;
    min-height: 24px;
}

.admin-user-account-field > input {
    height: 54px;
    margin: 0;
}

/* Media upload */
.central-media-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}

.central-media-upload-card,
.central-multi-upload {
    display: grid;
    gap: 8px;
}

.central-media-upload-card > span,
.central-multi-upload > span,
.central-field-label {
    color: #496451;
    font-size: .86rem;
    font-weight: 700;
}

.central-media-preview {
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border: 1px solid #dfe7e1;
    border-radius: 10px;
    background: #f4f7f5;
}

.central-media-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.central-media-preview-wide {
    width: min(360px, 100%);
    aspect-ratio: 16 / 9;
}

.central-media-upload-card input[type="file"],
.central-media-upload-inline input[type="file"],
.central-multi-upload input[type="file"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #dce5de;
    border-radius: 8px;
    background: #fff;
    color: #54675a;
    font: inherit;
    font-size: .82rem;
}

.central-media-upload-card small,
.central-media-upload-inline small,
.central-multi-upload small {
    color: #87938b;
    font-size: .75rem;
}

.central-media-settings {
    padding-top: 0;
}

.central-media-upload-inline {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 7px;
}

.central-product-media-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
}

.central-product-media-item {
    overflow: hidden;
    border: 1px solid #dfe7e1;
    border-radius: 10px;
    background: #fff;
}

.central-product-media-item > img {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    background: #f4f7f5;
}

.central-media-radio,
.central-media-delete {
    display: flex;
    gap: 7px;
    align-items: center;
    padding: 7px 9px;
    color: #5d7063;
    font-size: .76rem;
}

.central-media-radio {
    border-top: 1px solid #edf1ee;
}

.central-media-delete {
    border-top: 1px solid #edf1ee;
    color: #9b6056;
}

.central-media-radio input,
.central-media-delete input {
    flex: 0 0 auto;
}

.central-multi-upload {
    margin: 0 14px 14px;
    padding: 12px;
    border: 1px dashed #cddbd1;
    border-radius: 10px;
    background: #f8faf8;
}

.central-media-empty {
    margin: 14px;
    padding: 18px;
    border: 1px dashed #d8e1da;
    border-radius: 10px;
    color: #849087;
    text-align: center;
    font-size: .83rem;
}

@media (max-width: 900px) {
    .central-media-grid {
        grid-template-columns: 1fr;
    }

    .central-product-media-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .central-media-upload-inline {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .central-product-media-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V70 THAI ADDRESS AUTOCOMPLETE
   ========================================================= */
.thai-address-form-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.thai-address-form-grid > label {
    min-width: 0;
}

.thai-address-help {
    grid-column: 1 / -1;
    color: #849087;
    font-size: .75rem;
    line-height: 1.45;
}

.thai-address-suggestions {
    position: absolute;
    z-index: 10050;
    left: 0;
    right: 0;
    top: calc(100% - 2px);
    max-height: 330px;
    overflow-y: auto;
    border: 1px solid #d9e3dc;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(25, 52, 34, .16);
}

.thai-address-suggestions[hidden] {
    display: none !important;
}

.thai-address-option {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #edf1ee;
    background: #fff;
    color: #405848;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.thai-address-option:last-child {
    border-bottom: 0;
}

.thai-address-option:hover,
.thai-address-option:focus {
    outline: none;
    background: #f0f6f2;
}

.thai-address-option strong {
    font-size: .84rem;
    font-weight: 700;
}

.thai-address-option small {
    flex: 0 0 auto;
    color: #7d8c82;
    font-size: .75rem;
}

.thai-address-loading,
.thai-address-empty {
    padding: 12px;
    color: #7f8d84;
    font-size: .8rem;
    text-align: center;
}

@media (max-width: 900px) {
    .thai-address-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .thai-address-form-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V71-V73 SUPER ADMIN CLOSEOUT
   ========================================================= */

.central-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    border-top: 1px solid #e8ede9;
    background: #fbfcfb;
}

.central-pagination > span {
    color: #7d8981;
    font-size: .78rem;
}

.central-pagination nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.central-pagination nav a,
.central-pagination nav span {
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #53695a;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

.central-pagination nav a {
    border: 1px solid #dfe7e1;
    background: #fff;
}

.central-pagination nav a:hover {
    background: #f1f6f2;
}

.central-pagination nav a.is-active {
    border-color: #5f8a6b;
    background: #eaf3ec;
    color: #31583f;
}

.central-pagination nav a.is-disabled {
    pointer-events: none;
    opacity: .4;
}

.central-filter-bar-users {
    margin-bottom: 10px;
}

@media (max-width: 680px) {
    .central-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .central-pagination nav {
        justify-content: center;
        flex-wrap: wrap;
    }
}


/* =========================================================
   V74 FINAL MEDIA UX / REDIRECT FIX
   ========================================================= */

.central-media-native-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.central-media-picker {
    width: fit-content;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #b9cdbf;
    border-radius: 9px;
    background: #f2f7f3;
    color: #356045;
    font-size: .83rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.central-media-picker:hover {
    border-color: #7ea08a;
    background: #e8f2eb;
}

.central-media-picker:active {
    transform: translateY(1px);
}

.central-media-file-name {
    min-height: 20px;
    display: block;
    overflow: hidden;
    color: #718077;
    font-size: .76rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.central-media-upload-card {
    align-content: start;
}

.central-media-upload-card .central-media-picker {
    width: 100%;
}

.central-media-preview {
    position: relative;
}

.central-media-preview::after {
    content: 'ตัวอย่าง';
    position: absolute;
    right: 8px;
    bottom: 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(24, 48, 32, .7);
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    pointer-events: none;
}

.central-media-preview.has-local-preview::after {
    content: 'ตัวอย่างก่อนบันทึก';
}

.central-media-picker-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.central-media-picker-row .central-media-file-name {
    flex: 1 1 auto;
    min-width: 0;
}

.central-media-local-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
    margin-top: 2px;
}

.central-media-local-grid[hidden] {
    display: none !important;
}

.central-media-local-item {
    overflow: hidden;
    border: 1px solid #dce5de;
    border-radius: 9px;
    background: #fff;
}

.central-media-local-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    background: #f3f6f4;
}

.central-media-local-item small {
    display: block;
    overflow: hidden;
    padding: 6px 7px;
    color: #748178;
    font-size: .67rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.central-media-upload-controls {
    display: grid;
    gap: 8px;
    align-content: start;
}

@media (max-width: 760px) {
    .central-media-picker-row {
        align-items: stretch;
        flex-direction: column;
    }

    .central-media-picker-row .central-media-picker {
        width: 100%;
    }

    .central-media-local-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 480px) {
    .central-media-local-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V75 UPLOAD LIMIT + TABLE THUMBNAILS
   ========================================================= */
.central-table-entity {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.central-table-entity-copy {
    min-width: 0;
}

.central-table-entity-copy strong,
.central-table-entity-copy small {
    display: block;
}

.central-table-thumb {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: block;
    border: 1px solid #dfe7e1;
    border-radius: 9px;
    background: #f4f7f5;
}

.central-table-thumb-logo {
    padding: 3px;
    object-fit: contain;
    background: #fff;
}

.central-table-thumb-product {
    object-fit: cover;
}

.central-table-entity-copy strong {
    overflow: hidden;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.central-table-entity-copy small {
    overflow: hidden;
    margin-top: 2px;
    color: #89958c;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .central-table-thumb {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}


/* =========================================================
   V76 FARM MEDIA / COLOR / DRAG SORT
   ========================================================= */

.central-color-panel {
    display: grid;
    gap: 12px;
    margin-top: 4px;
    padding: 14px;
    border: 1px solid #dbe6df;
    border-radius: 16px;
    background: linear-gradient(180deg,#fcfdfc 0%,#f7faf8 100%);
}

.central-color-preview-tile {
    --theme-preview: #2D6A4F;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #d7e3db;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(25, 52, 34, .05);
}

.central-color-preview-swatch {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 16px;
    border: 2px solid rgba(255,255,255,.9);
    background: var(--theme-preview);
    box-shadow: 0 0 0 1px #d6e1da, 0 14px 28px rgba(25, 52, 34, .12);
}

.central-color-preview-copy {
    min-width: 0;
}

.central-color-preview-copy strong {
    display: block;
    margin-bottom: 3px;
    color: #244132;
    font-size: .92rem;
}

.central-color-preview-copy small {
    display: block;
    color: #738178;
    font-size: .77rem;
    line-height: 1.55;
}

.central-color-control {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.central-color-control input[type="color"] {
    width: 72px;
    height: 52px;
    padding: 4px;
    border: 1px solid #cfded4;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(25, 52, 34, .06);
}

.central-color-control input[type="text"] {
    min-width: 0;
    height: 52px;
    padding-inline: 14px;
    font-weight: 700;
    letter-spacing: .02em;
}

.central-color-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.central-color-preset {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 999px;
    background: var(--preset-color, #2D6A4F);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.92), 0 0 0 1px #d6e1da;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}

.central-color-preset:hover {
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.92), 0 0 0 1px #c5d5ca, 0 10px 18px rgba(25, 52, 34, .12);
}

.central-color-preset.is-active {
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.98), 0 0 0 3px rgba(45,106,79,.24), 0 10px 22px rgba(25, 52, 34, .16);
}

.central-color-field > small {
    display: block;
    margin-top: 8px;
    color: #849087;
    font-size: .75rem;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .central-color-preview-tile {
        align-items: flex-start;
        flex-direction: column;
    }

    .central-color-control {
        grid-template-columns: 1fr;
    }

    .central-color-control input[type="color"] {
        width: 100%;
    }
}

.central-sort-notice {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid #d9e5dc;
    border-radius: 10px;
    background: #f4f8f5;
    color: #536b5b;
    font-size: .8rem;
}

.central-sort-notice > div {
    display: flex;
    align-items: center;
    gap: 7px;
}

.central-sort-notice > small {
    flex: 0 0 auto;
    color: #7f8d84;
    font-size: .74rem;
}

.central-sort-notice.is-muted {
    background: #fafbfa;
    color: #7d8981;
}

#farmSortStatus.is-saving {
    color: #8a7441;
}

#farmSortStatus.is-success {
    color: #42704f;
}

#farmSortStatus.is-error {
    color: #a25e52;
}

.central-table-farms .col-drag {
    width: 44px;
}

.central-drag-heading,
.central-drag-cell {
    width: 44px;
    padding-left: 8px !important;
    padding-right: 4px !important;
    text-align: center;
}

.central-drag-handle {
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #789082;
    cursor: grab;
}

.central-drag-handle:hover {
    border-color: #d7e3da;
    background: #eef5f0;
    color: #476452;
}

.central-table-farms tr[draggable="true"] {
    cursor: default;
}

.central-table-farms tr.is-dragging {
    opacity: .5;
    background: #edf5ef;
}

.central-table-farms tr[draggable="true"] .central-drag-handle:active {
    cursor: grabbing;
}

@media (max-width: 700px) {
    .central-sort-notice {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   V77 FARM DRAG SORT FIX
   ========================================================= */
.central-drag-handle {
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.central-table-farms tr.is-sortable .central-drag-handle {
    cursor: grab;
}

.central-table-farms tr.is-sortable .central-drag-handle:active {
    cursor: grabbing;
}

.central-table-farms tr.is-pointer-dragging {
    display: table;
    table-layout: fixed;
    opacity: .96;
    background: #fff;
    box-shadow: 0 14px 36px rgba(28, 60, 38, .2);
}

.central-table-farms tr.is-pointer-dragging > td {
    background: #fff;
    border-top: 1px solid #b7cfbd;
    border-bottom: 1px solid #b7cfbd;
}

.farm-sort-placeholder > td {
    padding: 0 !important;
    border: 2px dashed #9ab9a3 !important;
    background: #edf5ef !important;
}

body.farm-sort-active {
    cursor: grabbing !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* V79.1 safe-delete actions */
.central-inline-action{display:inline;margin:0;padding:0}
.central-action-link{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.central-action-danger{color:#a33a32}
.central-action-link:hover{opacity:.76}

/* =========================================================
   V79.2 PRODUCT TABLE COMPACT ACTIONS
   Fit columns to content and keep product information flexible.
   ========================================================= */
.central-table-products {
    table-layout: auto;
    min-width: 760px;
}

.central-table-products .col-product-name {
    width: auto;
}

.central-table-products .col-product-farm,
.central-table-products .col-product-category,
.central-table-products .col-product-price,
.central-table-products .col-product-stock,
.central-table-products .col-product-status,
.central-table-products .col-actions {
    width: 1%;
}

.central-table-products th:not(:first-child),
.central-table-products td:not(:first-child) {
    white-space: nowrap;
}

.central-table-products .central-cell-primary {
    min-width: 220px;
}

.central-table-products .central-table-entity-copy strong {
    white-space: normal;
}

.central-table-products .central-row-actions {
    width: 1%;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
}

.central-product-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    vertical-align: middle;
}

.central-product-actions .central-inline-action {
    display: inline-flex;
    margin: 0;
}

.central-product-action-icon {
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe4dd;
    border-radius: 9px;
    background: #fff;
    color: #41634d !important;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.central-product-action-icon i {
    font-size: 1rem;
    line-height: 1;
}

.central-product-action-icon:hover,
.central-product-action-icon:focus-visible {
    border-color: #b9cbbf;
    background: #f2f7f3;
    color: #245d37 !important;
    outline: none;
}

.central-product-action-icon:active {
    transform: translateY(1px);
}

.central-product-action-icon.is-warning {
    color: #9a6700 !important;
}

.central-product-action-icon.is-danger {
    color: #b42318 !important;
}

.central-product-action-icon.is-danger:hover,
.central-product-action-icon.is-danger:focus-visible {
    border-color: #f0c7c3;
    background: #fff4f2;
    color: #8f1d14 !important;
}

.central-product-action-icon.is-moderation {
    color: #6b4f9b !important;
}

@media (max-width: 900px) {
    .central-table-products {
        min-width: 720px;
        table-layout: auto;
    }

    .central-product-action-icon {
        width: 36px;
        height: 36px;
    }
}



/* =========================================================
   V79.7 PRODUCT ACTION ICON CONSISTENCY
   Inline SVG prevents missing icon-font/browser fallback issues.
   ========================================================= */
.central-product-action-icon,
button.central-product-action-icon,
a.central-product-action-icon {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    flex: 0 0 34px;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dbe4dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #41634d !important;
    font: inherit;
    line-height: 1 !important;
    vertical-align: middle;
    box-shadow: none !important;
    text-decoration: none !important;
}

.central-product-action-icon .central-action-svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.central-product-action-icon:hover,
.central-product-action-icon:focus-visible {
    background: #f2f7f3 !important;
    border-color: #b9cbbf !important;
    color: #245d37 !important;
}

.central-product-action-icon.is-warning,
button.central-product-action-icon.is-warning {
    color: #8a6500 !important;
}
.central-product-action-icon.is-warning:hover,
.central-product-action-icon.is-warning:focus-visible {
    background: #fff9e8 !important;
    border-color: #ead7a0 !important;
    color: #6f5000 !important;
}
.central-product-action-icon.is-danger,
button.central-product-action-icon.is-danger {
    color: #b42318 !important;
}
.central-product-action-icon.is-danger:hover,
.central-product-action-icon.is-danger:focus-visible {
    background: #fff4f2 !important;
    border-color: #f0c7c3 !important;
    color: #8f1d14 !important;
}
.central-product-action-icon.is-moderation,
a.central-product-action-icon.is-moderation,
button.central-product-action-icon.is-moderation {
    color: #6b4f9b !important;
}
.central-product-action-icon.is-moderation:hover,
.central-product-action-icon.is-moderation:focus-visible {
    background: #f7f3fb !important;
    border-color: #d8c9e9 !important;
    color: #563c82 !important;
}

@media (max-width: 900px) {
    .central-product-action-icon,
    button.central-product-action-icon,
    a.central-product-action-icon {
        flex-basis: 38px;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px;
        height: 38px !important;
        min-height: 38px !important;
    }
    .central-product-action-icon .central-action-svg {
        width: 19px;
        height: 19px;
    }
}

/* V79.8 Seller product drag sorting */
.product-sort-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin: 0 0 .8rem; padding: .85rem 1rem; border: 1px solid #dce7df;
  border-radius: 14px; background: #fff;
}
.product-sort-toolbar > div { display:flex; flex-direction:column; gap:.18rem; min-width:0; }
.product-sort-toolbar strong { color:#173f32; font-size:.95rem; }
.product-sort-toolbar span { color:#6d7f76; font-size:.86rem; line-height:1.45; }
.product-sort-toolbar.is-muted { background:#f8faf8; }
.product-sort-status { white-space:nowrap; font-weight:700; }
.product-sort-status.is-saving { color:#9a6700; }
.product-sort-status.is-success { color:#29734e; }
.product-sort-status.is-error { color:#b42318; }
.central-table-products .col-drag { width: 42px; }
.central-table-products .central-drag-heading,
.central-table-products .central-drag-cell { width:42px; min-width:42px; padding-left:.45rem; padding-right:.2rem; text-align:center; }
.central-table-products .product-drag-handle {
  width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #d9e4dc; border-radius:9px; background:#fff; color:#6d7f76; cursor:grab;
  touch-action:none; user-select:none;
}
.central-table-products .product-drag-handle:hover { border-color:#9fbeaa; color:#2f6e50; background:#f4f8f5; }
.central-table-products .product-drag-handle:active { cursor:grabbing; }
.central-table-products .product-drag-handle .central-action-svg { width:18px; height:18px; fill:currentColor; stroke:none; }
.central-table-products tr.is-pointer-dragging { box-shadow:0 16px 36px rgba(25,52,42,.18); background:#fff; border-radius:12px; }
.product-sort-placeholder > td { background:#edf6ef; border:2px dashed #8eb39a !important; }
body.product-sort-active { cursor:grabbing; user-select:none; }
@media (max-width: 760px) {
  .product-sort-toolbar { align-items:flex-start; flex-direction:column; }
  .product-sort-status { white-space:normal; }
}

/* V79.9 Farm/content safety + moderation */
.auth-alert-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e4f7a;
}
.central-status-note {
    display: block;
    margin-top: .32rem;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}
.central-status-note.is-danger { color: #b42318; }
.central-status-note.is-warning { color: #946200; }
.central-table-contents .col-content-date { width: 132px; }
.central-content-date-cell { white-space: nowrap; font-size: .9rem; color: var(--text-muted, #6b7b72); }
.central-empty-cell { padding: 2rem !important; text-align: center; color: var(--text-muted, #718078); }
.farm-review-card { overflow: hidden; }
.farm-review-hero {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid #e4ebe6;
}
.farm-review-hero > img {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    object-fit: cover;
    border: 1px solid #dce6df;
    background: #fff;
}
.farm-review-hero h3 { margin: 0 0 .2rem; color: #173d2e; }
.farm-review-hero p { margin: 0 0 .2rem; color: #53675d; }
.farm-review-hero small { color: #84938b; }
.farm-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-bottom: 1px solid #e4ebe6;
}
.farm-review-grid > div { padding: 1rem 1.25rem; border-bottom: 1px solid #edf1ee; }
.farm-review-grid > div:nth-child(odd):not(.is-wide) { border-right: 1px solid #edf1ee; }
.farm-review-grid .is-wide { grid-column: 1 / -1; }
.farm-review-grid span,
.farm-review-media-grid span { display: block; margin-bottom: .35rem; color: #718078; font-size: .82rem; font-weight: 700; }
.farm-review-grid strong { color: #173d2e; }
.farm-review-grid p { margin: 0; line-height: 1.65; color: #304c3f; }
.farm-review-media-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.2rem 1.25rem 1.4rem;
}
.farm-review-media-grid img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #dce6df;
    background: #f5f8f6;
}
.farm-moderation-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.farm-moderation-actions .central-form { padding: 1rem 1.25rem 1.25rem; }
.farm-moderation-actions .central-form label { display: block; margin-bottom: 1rem; }
.farm-moderation-actions .central-form label > span { display: block; margin-bottom: .4rem; font-weight: 700; color: #304c3f; }
.farm-moderation-actions textarea,
.farm-moderation-actions select { width: 100%; }
.farm-admin-primary-action.is-danger-action { background: #b42318; border-color: #b42318; color: #fff; }
.farm-admin-primary-action.is-danger-action:hover { background: #912018; border-color: #912018; }
.central-form-help { display: block; margin-top: .65rem; color: #7b8981; line-height: 1.5; }
@media (max-width: 900px) {
    .farm-moderation-actions { grid-template-columns: 1fr; }
    .farm-review-media-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .farm-review-grid { grid-template-columns: 1fr; }
    .farm-review-grid > div:nth-child(odd):not(.is-wide) { border-right: 0; }
    .central-table-contents .col-content-date { width: auto; }
}

/* =========================================================
   V79.10 CONTENT THUMBNAILS + NOTIFICATION CENTER CARDS
   ========================================================= */
.central-content-title-wrap {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    min-width: 0;
}
.central-content-thumb {
    width: 54px;
    height: 42px;
    object-fit: cover;
    border-radius: 9px;
    border: 1px solid #dce5df;
    background: #f4f7f5;
    display: block;
}
.central-content-title-copy {
    min-width: 0;
    display: grid;
    gap: .18rem;
}
.central-content-title-copy strong,
.central-content-title-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
}
.central-content-title-copy strong { color: #183e30; }
.central-content-title-copy small { color: #8a9890; font-size: .78rem; }

.notification-center-panel {
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.notification-center-panel .central-panel-head.notification-center-head {
    margin-bottom: .85rem;
    padding: 1rem 1.15rem;
    border: 1px solid #dfe8e2;
    border-radius: 14px;
    background: #fff;
}
.notification-center-head p { margin-top: .2rem; }
.notification-center-head p strong { color: #2f7352; }
.notification-center-list {
    display: grid;
    gap: .75rem;
}
.notification-center-row {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.05rem;
    border: 1px solid #dfe8e2;
    border-radius: 14px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(34, 62, 48, .035);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.notification-center-row:hover {
    border-color: #b9d0c1;
    box-shadow: 0 7px 20px rgba(34, 62, 48, .08);
    transform: translateY(-1px);
    background: #fff;
}
.notification-center-row.is-unread {
    border-color: #b7d9c3;
    background: linear-gradient(90deg, #f2faf4 0, #fff 28%);
    box-shadow: inset 4px 0 0 #4b8665, 0 2px 8px rgba(34,62,48,.04);
}
.notification-center-row-icon {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf5ef;
    border: 1px solid #d8e6dc;
    color: #397657;
    font-size: 1.08rem;
    flex: 0 0 46px;
}
.notification-center-row.is-unread .notification-center-row-icon {
    background: #e3f2e8;
    border-color: #c8e1d0;
    color: #286c49;
}
.notification-center-row-copy {
    min-width: 0;
    display: grid;
    gap: .35rem;
}
.notification-center-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}
.notification-center-title-line strong {
    color: #193f31;
    font-size: .98rem;
    line-height: 1.45;
}
.notification-center-title-line em {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: .15rem .5rem;
    border-radius: 999px;
    background: #2f7a52;
    color: #fff;
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
}
.notification-center-message {
    color: #5c7065;
    font-size: .91rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.notification-center-row-copy small {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #89978f;
    font-size: .78rem;
}
.notification-center-open {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    color: #547064;
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}
.notification-center-row:hover .notification-center-open { color: #2f7352; }
.notification-center-panel .central-empty {
    padding: 2rem;
    text-align: center;
    border: 1px dashed #cedbd2;
    border-radius: 14px;
    background: #fff;
    color: #7a8981;
}
@media (max-width: 720px) {
    .central-content-title-wrap { grid-template-columns: 46px minmax(0,1fr); gap: .6rem; }
    .central-content-thumb { width:46px; height:38px; }
    .notification-center-row { grid-template-columns: 42px minmax(0, 1fr); padding: .9rem; gap: .75rem; }
    .notification-center-row-icon { width:42px; height:42px; flex-basis:42px; }
    .notification-center-open { grid-column: 2; justify-self: start; }
    .notification-center-panel .central-panel-head.notification-center-head { align-items:flex-start; gap:.75rem; }
}

/* =========================================================
   V79.11 ADMIN CORE TABLE DENSITY
   Farms / Products / Contents: content-led widths, compact rows.
   ========================================================= */
.admin-shell-content .central-table-farms,
.admin-shell-content .central-table-products,
.admin-shell-content .central-table-contents {
    table-layout: auto;
    width: 100%;
}

/* Let the descriptive/identity column consume spare room.
   Metadata columns only take the width their content actually needs. */
.central-table-farms .col-farm-name,
.central-table-products .col-product-name,
.central-table-contents .col-content-title {
    width: auto;
}

.central-table-farms .col-responsible,
.central-table-farms .col-count,
.central-table-farms .col-status,
.central-table-farms .col-actions,
.central-table-products .col-product-farm,
.central-table-products .col-product-category,
.central-table-products .col-product-price,
.central-table-products .col-product-stock,
.central-table-products .col-product-status,
.central-table-products .col-actions,
.central-table-contents .col-content-type,
.central-table-contents .col-content-category,
.central-table-contents .col-content-scope,
.central-table-contents .col-content-date,
.central-table-contents .col-content-status,
.central-table-contents .col-actions {
    width: 1%;
}

.central-table-farms th:not(:nth-child(2)),
.central-table-farms td:not(:nth-child(2)),
.central-table-products th:not(:first-child),
.central-table-products td:not(:first-child),
.central-table-contents th:not(:first-child),
.central-table-contents td:not(:first-child) {
    white-space: nowrap;
}

/* Farms can have the drag column as column 1. Keep the farm-name cell flexible. */
.central-table-farms .central-table-entity-copy,
.central-table-products .central-table-entity-copy,
.central-table-contents .central-content-title-copy {
    min-width: 0;
}

.central-table-farms .central-table-entity-copy strong,
.central-table-products .central-table-entity-copy strong,
.central-table-contents .central-content-title-copy strong {
    white-space: normal;
}

/* Denser rhythm without sacrificing touch targets. */
.central-table-farms th,
.central-table-farms td,
.central-table-products th,
.central-table-products td,
.central-table-contents th,
.central-table-contents td {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 10px;
    padding-right: 10px;
}

.central-table-farms thead th,
.central-table-products thead th,
.central-table-contents thead th {
    height: 38px;
}

.central-table-farms .central-table-thumb-logo {
    width: 42px;
    height: 42px;
    border-radius: 10px;
}

.central-table-products .central-table-thumb-product {
    width: 42px;
    height: 42px;
    border-radius: 9px;
}

.central-table-contents .central-content-title-wrap {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: .62rem;
}
.central-table-contents .central-content-thumb {
    width: 48px;
    height: 36px;
    border-radius: 8px;
}
.central-table-contents .central-content-title-copy strong {
    line-height: 1.28;
}
.central-table-contents .central-content-title-copy small {
    margin-top: 0;
    line-height: 1.2;
}

/* Keep actions compact and consistently aligned at the right edge. */
.central-table-farms .central-row-actions,
.central-table-products .central-row-actions,
.central-table-contents .central-row-actions {
    width: 1%;
    padding-left: 7px;
    padding-right: 7px;
    text-align: right;
    white-space: nowrap;
}
.central-table-farms .central-product-actions,
.central-table-products .central-product-actions,
.central-table-contents .central-product-actions {
    gap: 4px;
}
.central-table-farms .central-product-action-icon,
.central-table-products .central-product-action-icon,
.central-table-contents .central-product-action-icon {
    flex-basis: 32px;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px;
    height: 32px !important;
    min-height: 32px !important;
    border-radius: 8px !important;
}
.central-table-farms .central-product-action-icon .central-action-svg,
.central-table-products .central-product-action-icon .central-action-svg,
.central-table-contents .central-product-action-icon .central-action-svg {
    width: 17px;
    height: 17px;
}

/* Content date is intentionally compact and predictable. */
.central-table-contents .central-content-date-cell {
    font-size: .84rem;
}

@media (max-width: 900px) {
    .central-table-farms { min-width: 760px; }
    .central-table-products { min-width: 800px; }
    .central-table-contents { min-width: 900px; }

    .central-table-farms .central-product-action-icon,
    .central-table-products .central-product-action-icon,
    .central-table-contents .central-product-action-icon {
        flex-basis: 36px;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px;
        height: 36px !important;
        min-height: 36px !important;
    }
}

/* =========================================================
   V80 — Seller Orders
   ========================================================= */
.seller-order-filter{grid-template-columns:minmax(240px,1fr) 210px auto}
.seller-orders-table th,.seller-orders-table td{vertical-align:middle}
.seller-orders-table th:nth-child(1){width:18%}
.seller-orders-table th:nth-child(2){width:20%}
.seller-orders-table th:nth-child(3),
.seller-orders-table th:nth-child(4),
.seller-orders-table th:nth-child(5),
.seller-orders-table th:nth-child(6),
.seller-orders-table th:nth-child(7){width:1%;white-space:nowrap}
.seller-order-payment{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .55rem;border-radius:999px;background:#f3f5f3;font-size:.82rem;font-weight:700;white-space:nowrap}
.seller-order-payment.is-verified{background:#eaf5ee;color:#2f7352}
.seller-order-payment.is-submitted{background:#fff5db;color:#8a6715}
.seller-order-payment.is-rejected{background:#fff0ef;color:#a63d37}
.seller-order-status{white-space:nowrap}
.seller-shipping-action{align-items:flex-end;gap:1rem}
.seller-shipping-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:.65rem;align-items:end;min-width:min(620px,100%)}
.seller-shipping-form input{width:100%;min-height:42px;border:1px solid #d7ded9;border-radius:10px;padding:.65rem .8rem;background:#fff;color:#193c30;font:inherit}
.seller-order-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr)}
.seller-order-items th:nth-child(n+2),.seller-order-items td:nth-child(n+2){width:1%;white-space:nowrap}
.seller-order-summary dl{margin:0}
.seller-order-summary dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #edf0ed}
.seller-order-summary dl>div:last-child{border-bottom:0}
.seller-order-summary dt{color:#6c7e75}
.seller-order-summary dd{margin:0;text-align:right;color:#173e31}
.seller-order-summary .is-total{font-size:1.05rem;font-weight:800}
.seller-order-address{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem}
.seller-order-address p{margin:.35rem 0 0;line-height:1.65;color:#52665c}
.seller-order-note{margin-top:.7rem;padding:.75rem;border-radius:10px;background:#f6f8f6;display:flex;flex-direction:column;gap:.25rem}
.seller-payment-summary{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem}
.seller-order-timeline{padding:.25rem 1.05rem 1rem}
.seller-order-timeline-row{display:grid;grid-template-columns:14px 1fr;gap:.75rem;position:relative;padding:.65rem 0}
.seller-order-timeline-row>span{width:10px;height:10px;border-radius:50%;background:#4c8669;margin-top:.35rem;box-shadow:0 0 0 4px #edf5f0}
.seller-order-timeline-row:not(:last-child)::before{content:"";position:absolute;left:4px;top:1.35rem;bottom:-.35rem;width:1px;background:#dce7df}
.seller-order-timeline-row p{margin:.12rem 0;color:#63776d;line-height:1.5}
.seller-order-timeline-row small{color:#89978f}
.farm-admin-order-row{color:inherit;text-decoration:none}
.farm-admin-order-row:hover{background:#f7faf8}
@media(max-width:900px){.seller-order-filter{grid-template-columns:1fr}.seller-order-detail-grid{grid-template-columns:1fr}.seller-shipping-form{grid-template-columns:1fr;min-width:0;width:100%}.seller-shipping-action{align-items:stretch}.seller-orders-table{min-width:850px}}

/* V81 Seller Payments */
.seller-payment-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.seller-payment-stat-grid article{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--central-border,#dfe7e1);border-radius:14px}.seller-payment-stat-grid article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f1f7f3;color:#376d53;font-size:18px}.seller-payment-stat-grid small{display:block;color:#718078;font-size:13px}.seller-payment-stat-grid strong{display:block;margin-top:2px;font-size:19px;color:#173e2e}.seller-payments-table td,.seller-payments-table th{white-space:nowrap}.seller-payments-table td:first-child,.seller-payments-table td:nth-child(2){white-space:normal}.seller-payments-table tr.is-payment-attention td{background:#fffdf6}.seller-slip-count{display:inline-flex;align-items:center;gap:5px}.seller-payment-status.is-submitted{background:#fff3d8;color:#8a5b00}.seller-payment-status.is-verified{background:#eaf6ee;color:#2f6b49}.seller-payment-status.is-rejected{background:#fff0ef;color:#a34238}.seller-payment-status.is-unpaid{background:#f2f4f3;color:#667069}.seller-payment-slip-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.seller-payment-slip-card{position:relative;padding:0;border:1px solid #dfe7e1;border-radius:14px;background:#fff;overflow:hidden;text-align:left;cursor:pointer;transition:.18s ease}.seller-payment-slip-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(25,69,49,.08);border-color:#b8ccbf}.seller-payment-slip-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f6f7f6}.seller-payment-slip-card span{display:block;padding:10px 12px 12px}.seller-payment-slip-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#234b38}.seller-payment-slip-card small{display:block;margin-top:3px;color:#7d8a83}.seller-payment-slip-card>i{position:absolute;right:10px;top:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.92);color:#315f49}.seller-payment-amount-card dl{margin:0}.seller-payment-rejection-box{display:block!important;padding:12px!important;border-radius:11px;background:#fff1f0}.seller-payment-rejection-box strong{display:block;margin-top:5px;color:#9a3d35}.auth-alert-action{margin-left:auto;white-space:nowrap;font-weight:700;color:inherit;text-decoration:underline}.seller-payment-review-banner{margin-bottom:14px}
@media(max-width:1000px){.seller-payment-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seller-payment-slip-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.seller-payment-stat-grid{grid-template-columns:1fr}.seller-payment-slip-gallery{grid-template-columns:1fr}.auth-alert-action{display:block;margin:8px 0 0}.seller-payments-table{min-width:800px}}


/* V81.1 UI polish: keep Seller product source/category controls visually balanced */
.product-form-paired-field {
    align-self: start;
}
.product-form-paired-field > input,
.product-form-paired-field > select {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 48px;
}
.product-form-paired-field > select { line-height: normal; }
.product-form-source-field > input:disabled { background: #f8faf8; color: #48604f; opacity: 1; }
.product-form-source-field > small { margin-top: 1px; line-height: 1.45; }
@media (max-width: 767px) {
    .product-form-paired-field > input, .product-form-paired-field > select { height: 48px; min-height: 48px; }
}


/* V81.1 unified system alerts + processing overlay */
:root { --system-alert-font-size: 15px; --system-alert-line-height: 1.6; }
.auth-alert, .alert, .farm-admin-alert { font-size: var(--system-alert-font-size) !important; line-height: var(--system-alert-line-height) !important; }
.auth-alert { padding: 13px 15px; gap: 10px; }
.farm-admin-alert strong, .farm-admin-alert span, .farm-admin-alert > a,
.admin-shell .farm-admin-alert strong, .admin-shell .farm-admin-alert span, .admin-shell .farm-admin-alert > a {
    font-size: var(--system-alert-font-size) !important; line-height: var(--system-alert-line-height) !important;
}
.system-processing-overlay { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(244,248,245,.76); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .16s ease, visibility .16s ease; }
.system-processing-overlay.is-visible { opacity: 1; visibility: visible; pointer-events: all; }
.system-processing-card { width: min(360px,calc(100vw - 40px)); display: grid; justify-items: center; gap: 9px; padding: 25px 26px 23px; border: 1px solid #dce8df; border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 18px 55px rgba(28,67,48,.16); color: #244d39; text-align: center; }
.system-processing-spinner { width: 38px; height: 38px; margin-bottom: 2px; border: 4px solid #dce9e0; border-top-color: #3f7b5b; border-radius: 50%; animation: system-processing-spin .75s linear infinite; }
.system-processing-card strong, .system-processing-title { font-size: 16px; line-height: 1.45; font-weight: 800; }
.system-processing-card span:not(.system-processing-spinner), .system-processing-message { font-size: 14px; line-height: 1.5; color: #718078; }
body.system-is-processing, html.is-processing, html.is-processing body { overflow: hidden; }
@keyframes system-processing-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .system-processing-overlay { transition: none; } .system-processing-spinner { animation-duration: 1.5s; } }

/* =========================================================
   FARM OWNER THEME
   Scope: public farm mini-site only.
   The selected farm color becomes an accessible palette,
   while neutral surfaces remain neutral for readability.
   ========================================================= */
.farm-navbar {
    border-bottom-color: rgba(var(--farm-theme-primary-rgb), .14);
}

.farm-navbar .farm-brand-logo {
    background: var(--farm-theme-softer);
    color: var(--farm-theme-dark);
    border: 1px solid var(--farm-theme-border);
}

.farm-navbar .farm-brand-copy strong,
.farm-navbar .nav-link:hover,
.farm-navbar .nav-link:focus,
.farm-navbar .dropdown-item:hover strong,
.farm-navbar .dropdown-item:focus strong {
    color: var(--farm-theme-dark);
}

.farm-navbar .nav-link:hover,
.farm-navbar .nav-link:focus {
    background: var(--farm-theme-softer);
    border-radius: 10px;
}

.farm-navbar .farm-nav-platform-link a {
    background: var(--farm-theme-softer);
    color: var(--farm-theme-dark);
}

.farm-mini-site .farm-member-badge,
.farm-mini-site .eyebrow {
    background: var(--farm-theme-soft);
    color: var(--farm-theme-dark);
}

.farm-mini-site .farm-split-info-v27 {
    background: linear-gradient(145deg, #fff 0%, var(--farm-theme-softer) 100%);
}

.farm-mini-site .farm-split-media-v27 {
    background: linear-gradient(145deg, var(--farm-theme-soft) 0%, #f7f2e9 100%);
}

.farm-mini-site .farm-split-info-v27 h1,
.farm-mini-site .farm-section-head h2,
.farm-mini-site .farm-contact-card h2,
.farm-mini-site.farm-subpage .section-title {
    color: var(--farm-theme-dark);
}

.farm-mini-site .farm-section-head > a,
.farm-mini-site .breadcrumb-lite a,
.farm-mini-site .commerce-product-body h3 a:hover,
.farm-mini-site .certificate-actions a {
    color: var(--farm-theme-primary);
}

.farm-mini-site .btn-primary-custom {
    background: var(--farm-theme-primary);
    border-color: var(--farm-theme-primary);
    color: var(--farm-theme-on-primary);
}

.farm-mini-site .btn-primary-custom:hover,
.farm-mini-site .btn-primary-custom:focus {
    background: var(--farm-theme-dark);
    border-color: var(--farm-theme-dark);
    color: #fff;
}

.farm-mini-site .btn-outline-custom {
    border-color: var(--farm-theme-border);
    color: var(--farm-theme-dark);
    background: #fff;
}

.farm-mini-site .btn-outline-custom:hover,
.farm-mini-site .btn-outline-custom:focus {
    background: var(--farm-theme-soft);
    border-color: var(--farm-theme-primary);
    color: var(--farm-theme-deep);
}

.farm-mini-site .farm-about-preview-card,
.farm-mini-site .commerce-product-card,
.farm-mini-site .farm-certificate-card,
.farm-mini-site .long-content-box,
.farm-mini-site .farm-about-facts {
    border-color: rgba(var(--farm-theme-primary-rgb), .13);
}

.farm-mini-site .farm-contact-card {
    background: linear-gradient(135deg, var(--farm-theme-soft) 0%, #fbf6e8 100%);
    border-color: rgba(var(--farm-theme-primary-rgb), .18);
}

.farm-mini-site .commerce-category,
.farm-mini-site .certificate-verified-badge {
    color: var(--farm-theme-dark);
    background: var(--farm-theme-soft);
}

.farm-footer {
    background: var(--farm-theme-deep);
}

.farm-footer .farm-footer-member a {
    color: var(--farm-theme-soft);
}

/* =========================================================
   V81.1 targeted restore: notification popover UI only
   Restores styles lost during baseline reconciliation.
   ========================================================= */
.admin-notification-bell {
    position: relative;
    flex: 0 0 auto;
}
.admin-notification-bell > summary {
    list-style: none;
    position: relative;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9e2dc;
    border-radius: 11px;
    background: #fff;
    color: #466052;
    cursor: pointer;
    transition: .18s ease;
    user-select: none;
}
.admin-notification-bell > summary::-webkit-details-marker { display: none; }
.admin-notification-bell > summary:hover,
.admin-notification-bell[open] > summary {
    background: #f4f8f5;
    border-color: #b9ccbf;
    color: #245d41;
}
.admin-notification-bell > summary .bi { font-size: 1.08rem; }
.admin-notification-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #d9363e;
    color: #fff;
    border: 2px solid #fff;
    font-size: .68rem;
    line-height: 1;
    font-weight: 800;
    box-sizing: border-box;
}
.admin-notification-popover {
    position: absolute;
    z-index: 1300;
    top: calc(100% + 10px);
    right: 0;
    width: min(390px, calc(100vw - 28px));
    background: #fff;
    border: 1px solid #dfe7e2;
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(28, 53, 39, .16);
    overflow: hidden;
}
.admin-notification-popover-head {
    padding: 14px 16px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #edf1ee;
}
.admin-notification-popover-head > div { display: grid; gap: 1px; }
.admin-notification-popover-head strong { color: #183f2c; font-size: 1rem; line-height: 1.35; }
.admin-notification-popover-head span { color: #819087; font-size: .84rem; line-height: 1.4; }
.admin-notification-popover-head a,
.admin-notification-popover-footer {
    color: #347453;
    text-decoration: none;
    font-weight: 700;
    font-size: .86rem;
    line-height: 1.4;
}
.admin-notification-popover-list {
    max-height: 370px;
    overflow-y: auto;
}
.admin-notification-item {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 8px;
    gap: 10px;
    align-items: start;
    padding: 12px 14px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #f0f3f1;
    transition: background .15s ease;
}
.admin-notification-item:hover { background: #f7faf8; }
.admin-notification-item.is-unread { background: #f1f8f3; }
.admin-notification-item-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eaf4ed;
    color: #397151;
}
.admin-notification-item-copy { min-width: 0; display: grid; gap: 2px; }
.admin-notification-item-copy strong { color: #284538; font-size: .94rem; line-height: 1.45; }
.admin-notification-item-copy span {
    color: #687b70;
    font-size: .86rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.admin-notification-item-copy small { color: #99a49e; font-size: .78rem; line-height: 1.4; }
.admin-notification-item-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d9363e;
    margin-top: 7px;
}
.admin-notification-empty {
    min-height: 135px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #8a9991;
    font-size: .9rem;
    line-height: 1.5;
}
.admin-notification-empty .bi { font-size: 1.4rem; }
.admin-notification-popover-footer {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #fafcfb;
}
@media (max-width: 720px) {
    .admin-notification-popover {
        position: fixed;
        top: 66px;
        right: 12px;
        left: 12px;
        width: auto;
    }
    .admin-notification-item-copy strong { font-size: .92rem; }
    .admin-notification-item-copy span { font-size: .84rem; }
    .admin-notification-item-copy small { font-size: .76rem; }
}


/* =========================================================
   Farm Admin owner theme
   Scope: Seller Center / Farm Admin only.
   The farm-selected color is injected as CSS variables on
   .admin-shell.is-farm-themed by includes/admin-layout.php.
   Central Admin and the public marketplace are unaffected.
   ========================================================= */
.admin-shell.is-farm-themed {
    --farm-admin-primary: #2D6A4F;
    --farm-admin-primary-rgb: 45, 106, 79;
    --farm-admin-dark: #24543F;
    --farm-admin-deep: #1D4433;
    --farm-admin-soft: #E7F0EC;
    --farm-admin-softer: #F4F8F6;
    --farm-admin-border: #C8DAD1;
    --farm-admin-on-primary: #FFFFFF;
}

.admin-shell.is-farm-themed .admin-shell-sidebar {
    border-right-color: var(--farm-admin-border);
    background: linear-gradient(180deg, var(--farm-admin-softer) 0, #fff 180px);
}

.admin-shell.is-farm-themed .admin-shell-brand {
    border-bottom-color: var(--farm-admin-border);
}

.admin-shell.is-farm-themed .admin-shell-brand strong {
    color: var(--farm-admin-deep);
}

.admin-shell.is-farm-themed .admin-shell-nav-label {
    color: color-mix(in srgb, var(--farm-admin-primary) 55%, #7c8981);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a:hover,
.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active {
    background: var(--farm-admin-soft);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active {
    box-shadow: inset 3px 0 0 var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a:hover > i,
.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active > i {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-user-avatar {
    background: var(--farm-admin-soft);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-shell-user strong {
    color: var(--farm-admin-deep);
}

.admin-shell.is-farm-themed .admin-shell-topbar {
    border-bottom-color: var(--farm-admin-border);
    background: color-mix(in srgb, var(--farm-admin-softer) 72%, rgba(255,255,255,.97));
}

.admin-shell.is-farm-themed .admin-shell-topbar-context-logo {
    border-color: var(--farm-admin-border);
    background: var(--farm-admin-soft);
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-topbar-context-copy strong,
.admin-shell.is-farm-themed .admin-shell-topbar-left strong {
    color: var(--farm-admin-deep);
}

.admin-shell.is-farm-themed .admin-shell-preview {
    border-color: var(--farm-admin-border);
    background: var(--farm-admin-softer);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-shell-preview:hover {
    border-color: var(--farm-admin-primary);
    background: var(--farm-admin-soft);
    color: var(--farm-admin-deep);
}

.admin-shell.is-farm-themed .farm-admin-page-kicker,
.admin-shell.is-farm-themed .central-page-head .farm-admin-page-kicker {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .farm-admin-primary-action,
.admin-shell.is-farm-themed .central-primary-action,
.admin-shell.is-farm-themed .btn-primary {
    border-color: var(--farm-admin-primary);
    background: var(--farm-admin-primary);
    color: var(--farm-admin-on-primary);
}

.admin-shell.is-farm-themed .farm-admin-primary-action:hover,
.admin-shell.is-farm-themed .central-primary-action:hover,
.admin-shell.is-farm-themed .btn-primary:hover {
    border-color: var(--farm-admin-dark);
    background: var(--farm-admin-dark);
    color: var(--farm-admin-on-primary);
}

.admin-shell.is-farm-themed .farm-admin-secondary-action:hover,
.admin-shell.is-farm-themed .central-secondary-action:hover {
    border-color: var(--farm-admin-border);
    background: var(--farm-admin-soft);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .farm-admin-progress > span {
    background: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .farm-admin-readiness li.done i {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed a:not(.admin-notification-item):focus-visible,
.admin-shell.is-farm-themed button:focus-visible,
.admin-shell.is-farm-themed input:focus,
.admin-shell.is-farm-themed select:focus,
.admin-shell.is-farm-themed textarea:focus {
    outline-color: rgba(var(--farm-admin-primary-rgb), .45);
}


/* V82 Farm Admin: media, certificates, inventory */
.farm-tool-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.farm-tool-media-card{position:relative;border:1px solid #e6e8ea;border-radius:16px;overflow:hidden;background:#fff}.farm-tool-media-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.farm-tool-media-card>form{padding:12px;display:grid;gap:8px}.farm-tool-media-card input{width:100%}.farm-tool-danger-button{border:0;background:#fff1f0;color:#b42318;border-radius:10px;padding:8px 10px;cursor:pointer}.farm-tool-video-list{display:grid;gap:14px;margin-top:18px}.farm-tool-video-list>article{display:grid;grid-template-columns:160px 1fr auto;gap:14px;align-items:center;border:1px solid #e6e8ea;border-radius:16px;padding:12px}.farm-tool-video-thumb img{width:160px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.farm-tool-verified{color:#16794b;font-weight:700}.farm-tool-unverified{color:#8a6416;font-weight:700}.farm-tool-stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.farm-tool-stock-summary article{background:#fff;border:1px solid var(--farm-admin-theme-border,#e6e8ea);border-radius:16px;padding:18px}.farm-tool-stock-summary strong{display:block;font-size:28px;color:var(--farm-admin-theme-primary,#245b47)}.farm-tool-stock-summary span{font-size:14px;color:#69736f}.farm-tool-stock-form{display:grid;grid-template-columns:130px 100px minmax(140px,1fr) auto;gap:8px;align-items:center}.farm-tool-stock-form input,.farm-tool-stock-form select{min-height:40px}.farm-tool-stock-qty{font-size:17px}.farm-tool-stock-qty.is-low,.farm-tool-negative{color:#b42318}.farm-tool-positive{color:#16794b}.farm-public-video-section{margin-top:48px}.farm-public-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.farm-public-video-card{background:#fff;border:1px solid var(--farm-theme-border,#e6e8ea);border-radius:18px;overflow:hidden}.farm-public-video-frame{position:relative;aspect-ratio:16/9;background:#111}.farm-public-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.farm-public-video-card h3{margin:0;padding:14px 16px;font-size:17px}@media(max-width:900px){.farm-tool-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-tool-video-list>article{grid-template-columns:1fr}.farm-tool-video-thumb img{width:100%}.farm-tool-stock-form{grid-template-columns:1fr 1fr}.farm-public-video-grid{grid-template-columns:1fr}}@media(max-width:620px){.farm-tool-media-grid,.farm-tool-stock-summary{grid-template-columns:1fr}.farm-tool-stock-form{grid-template-columns:1fr}}


/* =========================================================
   V82.1 targeted UI fixes
   1) Public farm dropdown follows owner theme
   2) File inputs in Seller Center use the common form style
   Scope intentionally limited to these selectors.
   ========================================================= */

/* Public farm sub-menu: inherit the selected farm palette. */
.farm-navbar .farm-dropdown-menu {
    border-color: rgba(var(--farm-theme-primary-rgb), .16);
    box-shadow: 0 18px 46px rgba(var(--farm-theme-primary-rgb), .12);
}

.farm-navbar .farm-dropdown-menu .dropdown-item {
    color: var(--farm-theme-deep);
}

.farm-navbar .farm-dropdown-menu .dropdown-item:hover,
.farm-navbar .farm-dropdown-menu .dropdown-item:focus {
    background: var(--farm-theme-softer);
    color: var(--farm-theme-dark);
}

.farm-navbar .farm-dropdown-menu .dropdown-item > i {
    background: var(--farm-theme-soft);
    color: var(--farm-theme-dark);
}

.farm-navbar .farm-dropdown-menu .dropdown-item:hover > i,
.farm-navbar .farm-dropdown-menu .dropdown-item:focus > i {
    background: var(--farm-theme-primary);
    color: var(--farm-theme-on-primary);
}

.farm-navbar .farm-dropdown-menu .dropdown-item small {
    color: color-mix(in srgb, var(--farm-theme-deep) 58%, #ffffff 42%);
}

/* Seller/Farm Admin file controls: match the established form language. */
.admin-shell .central-form input[type="file"] {
    width: 100%;
    min-height: 46px;
    padding: 5px 7px;
    border: 1px solid #dce5de;
    border-radius: 10px;
    background: #fff;
    color: #54675a;
    font: inherit;
    font-size: .88rem;
    line-height: 1.4;
}

.admin-shell .central-form input[type="file"]::file-selector-button {
    min-height: 34px;
    margin: 0 10px 0 0;
    padding: 7px 12px;
    border: 1px solid var(--farm-admin-theme-border, #cfded4);
    border-radius: 8px;
    background: var(--farm-admin-theme-softer, #f4f8f5);
    color: var(--farm-admin-theme-dark, #315d47);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.admin-shell .central-form input[type="file"]:hover::file-selector-button,
.admin-shell .central-form input[type="file"]:focus::file-selector-button {
    border-color: var(--farm-admin-theme-primary, #2d6a4f);
    background: var(--farm-admin-theme-soft, #edf5f0);
    color: var(--farm-admin-theme-deep, #244f3c);
}

.admin-shell.is-farm-themed .central-form input[type="file"]:focus {
    border-color: var(--farm-admin-primary);
    box-shadow: 0 0 0 3px rgba(var(--farm-admin-primary-rgb), .10);
    outline: none;
}

.admin-shell.is-farm-themed .central-form input[type="file"]::file-selector-button {
    border-color: var(--farm-admin-border);
    background: var(--farm-admin-softer);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .central-form input[type="file"]:hover::file-selector-button,
.admin-shell.is-farm-themed .central-form input[type="file"]:focus::file-selector-button {
    border-color: var(--farm-admin-primary);
    background: var(--farm-admin-soft);
    color: var(--farm-admin-deep);
}

/* =========================================================
   V82.2 FARM ALBUM SYSTEM
   Scoped to farm album admin/public UI only.
   ========================================================= */
.farm-album-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px}.farm-album-admin-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--farm-admin-theme-border,#e2e8e5);border-radius:18px;overflow:hidden}.farm-album-admin-cover{position:relative;display:block;background:#f3f5f3;aspect-ratio:16/10;overflow:hidden}.farm-album-admin-cover img{width:100%;height:100%;object-fit:cover;display:block}.farm-album-status{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;background:#fff;color:#59645f;box-shadow:0 3px 14px rgba(30,45,38,.08)}.farm-album-status.is-published{background:var(--farm-admin-theme-soft,#edf6f1);color:var(--farm-admin-theme-primary,#245b47)}.farm-album-status.is-archived{background:#f1f2f3;color:#68706c}.farm-album-admin-body{padding:16px 16px 10px;flex:1}.farm-album-admin-body h3{margin:0 0 6px;font-size:18px;color:#163c31}.farm-album-admin-body p{margin:0;color:#6d7772;font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.farm-album-counts{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;color:#66736d;font-size:13px}.farm-album-counts span{display:inline-flex;align-items:center;gap:6px}.farm-album-admin-actions,.farm-album-state-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 14px}.farm-album-admin-actions .farm-admin-secondary-action{flex:1;justify-content:center;min-width:120px}.farm-album-state-actions{padding-top:0;border-top:1px solid #eef1ef;margin-top:auto}.farm-album-state-actions form{margin-top:12px}.farm-tool-muted-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #d9dfdc;background:#fff;color:#58655f;border-radius:10px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.farm-tool-muted-button:hover{background:#f6f8f7}.farm-album-empty{grid-column:1/-1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.farm-album-empty i{font-size:34px;color:var(--farm-admin-theme-primary,#245b47)}
.farm-album-upload-form{padding:16px 18px;border-bottom:1px solid #edf0ee}.farm-album-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}.farm-album-media-card{border:1px solid var(--farm-admin-theme-border,#e2e8e5);border-radius:16px;overflow:hidden;background:#fff}.farm-album-media-image{position:relative;aspect-ratio:4/3;background:#f4f5f3;overflow:hidden}.farm-album-media-image img{width:100%;height:100%;object-fit:cover;display:block}.farm-album-cover-badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:5px;background:var(--farm-admin-theme-primary,#245b47);color:#fff;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.farm-album-media-card>.central-form{padding:12px}.farm-album-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.farm-album-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 12px 12px}.farm-album-card-actions form{margin:0}.farm-album-video-form{padding:18px}.central-form .span-2{grid-column:1/-1}
.farm-album-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.farm-album-public-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--farm-theme-border,#e3e8e5);border-radius:22px;overflow:hidden;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.farm-album-public-card:hover{transform:translateY(-3px);border-color:var(--farm-theme-primary,#2d6a4f);box-shadow:0 14px 34px rgba(28,58,45,.10)}.farm-album-public-cover{position:relative;aspect-ratio:16/10;background:var(--farm-theme-soft,#eef5f1);overflow:hidden}.farm-album-public-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.farm-album-public-card:hover .farm-album-public-cover img{transform:scale(1.025)}.farm-album-public-count{position:absolute;left:14px;bottom:14px;display:flex;gap:8px}.farm-album-public-count span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--farm-theme-deep,var(--farm-theme-primary,#2d6a4f));font-size:12px;font-weight:700;box-shadow:0 3px 12px rgba(0,0,0,.06)}.farm-album-public-body{padding:18px}.farm-album-public-body h3{margin:0 0 7px;color:var(--farm-theme-deep,var(--farm-theme-primary,#2d6a4f));font-size:20px}.farm-album-public-body p{margin:0 0 14px;color:#69746f;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.farm-album-public-link{display:inline-flex;align-items:center;gap:7px;color:var(--farm-theme-primary,#2d6a4f);font-weight:700}.farm-album-public-head{margin-bottom:24px}.farm-album-public-head p{max-width:760px;color:#65716b;line-height:1.75;margin:12px 0 0}.farm-album-back-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--farm-theme-primary,#2d6a4f);font-weight:700}.farm-album-public-media-grid{margin-top:18px}.farm-album-public-image{margin:0;overflow:hidden}.farm-album-public-image figcaption{padding:10px 12px;background:#fff;color:#68736e;font-size:13px;line-height:1.5}.farm-public-video-copy{padding:14px 16px}.farm-public-video-copy h3{padding:0;margin:0 0 5px}.farm-public-video-copy p{margin:0;color:#68736e;font-size:14px;line-height:1.6}
@media(max-width:980px){.farm-album-admin-grid,.farm-album-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-album-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.farm-album-admin-grid,.farm-album-public-grid,.farm-album-media-grid{grid-template-columns:1fr}.farm-album-inline-fields{grid-template-columns:1fr}.farm-album-admin-actions .farm-admin-secondary-action{flex:auto;width:100%}}


/* =========================================================
   V82.3 FARM ALBUM ORDER + IMAGE DROP PREVIEW
   ========================================================= */
.farm-album-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.farm-album-title-row h3{min-width:0;flex:1}.farm-album-drag-handle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--farm-admin-theme-border,#dfe7e2);border-radius:10px;background:var(--farm-admin-theme-soft,#f1f7f4);color:var(--farm-admin-theme-primary,#245b47);cursor:grab;font-size:19px;touch-action:none}.farm-album-drag-handle:active{cursor:grabbing}.farm-album-admin-card.is-dragging{opacity:.55;transform:scale(.985);box-shadow:0 14px 34px rgba(26,52,42,.16)}.farm-album-admin-card[draggable="true"]{user-select:none}.farm-album-sort-status{font-size:13px;font-weight:700;color:#6f7b75}.farm-album-sort-status.is-success{color:var(--farm-admin-theme-primary,#245b47)}.farm-album-sort-status.is-error{color:#b23b3b}
.farm-album-upload-form{display:block}.farm-album-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}.farm-album-dropzone{display:flex!important;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:24px;border:2px dashed var(--farm-admin-theme-border,#cfdcd5);border-radius:16px;background:var(--farm-admin-theme-soft,#f4f8f6);text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.farm-album-dropzone:hover,.farm-album-dropzone.is-dragover{border-color:var(--farm-admin-theme-primary,#245b47);background:color-mix(in srgb,var(--farm-admin-theme-soft,#eef6f2) 72%,white 28%);transform:translateY(-1px)}.farm-album-dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#fff;color:var(--farm-admin-theme-primary,#245b47);box-shadow:0 6px 18px rgba(30,60,47,.08);font-size:23px}.farm-album-dropzone strong{font-size:16px;color:#244a3e}.farm-album-dropzone>span:last-child{font-size:13px;color:#78847e}.farm-album-upload-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.farm-album-preview-item{min-width:0;margin:0;border:1px solid var(--farm-admin-theme-border,#dde6e1);border-radius:12px;overflow:hidden;background:#fff}.farm-album-preview-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3f5f3}.farm-album-preview-item figcaption{padding:8px 9px;color:#64716a;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.farm-album-upload-form .central-form-actions{justify-content:space-between;align-items:center;margin-top:14px}.farm-album-selected-count{font-size:13px;color:#718078}.farm-album-upload-form [data-album-upload-button]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
@media(max-width:980px){.farm-album-upload-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.farm-album-upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-album-upload-form .central-form-actions{align-items:stretch}.farm-album-selected-count{width:100%}}

/* =========================================================
   V82.5 FARM ALBUM IMAGE CARD FORM + DRAG ORDER
   ========================================================= */
.farm-album-image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 0}.farm-album-image-toolbar>div{display:flex;flex-direction:column;gap:3px}.farm-album-image-toolbar strong{font-size:14px;color:#25483d}.farm-album-image-toolbar span{font-size:12px;color:#77837d}.farm-album-sort-status.is-saving{color:#7b8580}.farm-album-media-card{position:relative}.farm-album-image-drag-handle{position:absolute;z-index:3;right:10px;top:10px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.78);border-radius:10px;background:rgba(255,255,255,.94);color:var(--farm-admin-theme-primary,#245b47);box-shadow:0 4px 14px rgba(20,45,35,.12);cursor:grab;font-size:20px;touch-action:none}.farm-album-image-drag-handle:hover{border-color:var(--farm-admin-theme-primary,#245b47);background:#fff}.farm-album-image-drag-handle:active{cursor:grabbing}.farm-album-media-card.is-dragging{opacity:.58;transform:scale(.985);box-shadow:0 16px 34px rgba(26,52,42,.16)}.farm-album-image-edit-form{display:grid!important;grid-template-columns:minmax(0,1fr) 150px;gap:10px!important;padding:14px!important;align-items:end}.farm-album-image-edit-form .farm-album-field{display:flex!important;flex-direction:column;gap:6px;margin:0!important;min-width:0}.farm-album-image-edit-form .farm-album-field>span{font-size:13px;font-weight:700;color:#385348}.farm-album-image-edit-form input,.farm-album-image-edit-form select{width:100%!important;min-height:42px!important;padding:9px 11px!important;border:1px solid #d8e2dc!important;border-radius:10px!important;background:#fff!important;color:#33483f!important;font:inherit!important;font-size:14px!important;box-sizing:border-box}.farm-album-image-edit-form input:focus,.farm-album-image-edit-form select:focus{outline:none!important;border-color:var(--farm-admin-theme-primary,#245b47)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--farm-admin-theme-primary,#245b47) 12%,transparent)!important}.farm-album-image-save-row{grid-column:1/-1;display:flex}.farm-album-image-save-row .farm-admin-secondary-action{width:100%;justify-content:center}.farm-album-card-actions{border-top:1px solid #edf1ef;padding-top:12px}.farm-album-card-actions .farm-tool-muted-button,.farm-album-card-actions .farm-tool-danger-button{min-height:38px}.farm-album-media-grid[data-image-sort-grid] .farm-album-media-card[draggable="true"]{user-select:none}
@media(max-width:640px){.farm-album-image-toolbar{align-items:flex-start;flex-direction:column}.farm-album-image-edit-form{grid-template-columns:1fr}.farm-album-image-save-row{grid-column:1}}

/* V82.6 Album image overview: compact 8-column manager + pointer drag sorting */
.farm-album-media-grid[data-image-sort-grid]{
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:10px;
  padding:14px;
  align-items:start;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-media-card{
  border-radius:12px;
  min-width:0;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-media-image{
  aspect-ratio:1/1;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-cover-badge{
  left:6px;top:6px;padding:4px 6px;font-size:10px;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-drag-handle{
  right:6px;top:6px;width:30px;height:30px;border-radius:9px;font-size:17px;
  cursor:grab;touch-action:none;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-drag-handle:active{cursor:grabbing}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-edit-form{
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:9px!important;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-edit-form .farm-album-field{gap:4px}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-edit-form .farm-album-field>span{font-size:11px}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-edit-form input,
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-edit-form select{
  min-height:34px!important;padding:6px 8px!important;border-radius:8px!important;font-size:12px!important;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-save-row{grid-column:1}
.farm-album-media-grid[data-image-sort-grid] .farm-album-image-save-row .farm-admin-secondary-action{
  min-height:34px;padding:6px 8px;font-size:11px;white-space:normal;line-height:1.25;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions{
  gap:5px;padding:8px;border-top:1px solid #edf1ef;
}
.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions .farm-tool-muted-button,
.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions .farm-tool-danger-button{
  min-height:32px;padding:5px 7px;font-size:11px;line-height:1.2;
}
.farm-album-image-sort-placeholder{
  min-height:160px;border:2px dashed var(--farm-admin-theme-primary,#245b47);border-radius:12px;
  background:color-mix(in srgb,var(--farm-admin-theme-soft,#eef6f2) 75%,white 25%);
}
.farm-album-media-card.is-pointer-dragging{
  opacity:.9;box-shadow:0 18px 42px rgba(22,50,39,.22);transform:scale(1.02);cursor:grabbing;
}
body.farm-album-image-sort-active{user-select:none;cursor:grabbing}
@media(max-width:1500px){.farm-album-media-grid[data-image-sort-grid]{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1180px){.farm-album-media-grid[data-image-sort-grid]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.farm-album-media-grid[data-image-sort-grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}}


/* V82.7 Album image card simplification */
.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions-simple{display:flex;align-items:center;justify-content:flex-start;gap:5px;padding:7px;border-top:1px solid #edf1ef;background:#fff}.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions-simple form{margin:0;min-width:0}.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions-simple .farm-tool-muted-button,.farm-album-media-grid[data-image-sort-grid] .farm-album-card-actions-simple .farm-tool-danger-button{min-height:30px;padding:4px 7px;font-size:10px;border-radius:8px;white-space:nowrap}.farm-album-media-grid[data-image-sort-grid] .farm-album-media-card{overflow:hidden}

/* V82.8 Farm album pending-upload thumbnail controls */
.farm-album-preview-item{
  position:relative;
  transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease;
  opacity:0;
  transform:translateY(5px);
}
.farm-album-preview-item.is-visible{
  opacity:1;
  transform:translateY(0);
}
.farm-album-preview-item:hover{
  border-color:var(--farm-admin-theme-primary,#245b47);
  box-shadow:0 6px 18px rgba(24,55,43,.09);
}
.farm-album-preview-pending{
  position:absolute;
  left:8px;
  bottom:35px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--farm-admin-theme-primary,#245b47);
  border:1px solid color-mix(in srgb,var(--farm-admin-theme-primary,#245b47) 24%,#fff 76%);
  box-shadow:0 3px 10px rgba(20,45,35,.10);
  font-size:11px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  backdrop-filter:blur(4px);
}
.farm-album-preview-pending::before{
  content:'';
  width:6px;
  height:6px;
  margin-right:5px;
  border-radius:50%;
  background:var(--farm-admin-theme-primary,#245b47);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--farm-admin-theme-primary,#245b47) 13%,transparent 87%);
}
.farm-album-preview-remove{
  position:absolute;
  top:7px;
  right:7px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  padding:0;
  margin:0;
  border:1px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#b42318;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  cursor:pointer;
  font-size:14px;
  line-height:1;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
  backdrop-filter:blur(4px);
}
.farm-album-preview-remove:hover{
  background:#fff0ee;
  color:#d92d20;
  transform:scale(1.06);
  box-shadow:0 5px 14px rgba(180,35,24,.18);
}
.farm-album-preview-remove:focus-visible{
  outline:3px solid color-mix(in srgb,var(--farm-admin-theme-primary,#245b47) 22%,transparent 78%);
  outline-offset:2px;
}
.farm-album-preview-remove i{
  pointer-events:none;
}

/* V82.10 — compact Farm Admin intro-video preview only */
.farm-intro-video-card .farm-intro-video-current {
  margin: 12px 0 20px;
  padding-left: 12px;
  box-sizing: border-box;
}

.farm-intro-video-card .farm-intro-video-current-label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
}

.farm-intro-video-card .farm-intro-video-preview {
  width: min(100%, 340px);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--border, #dbe3dd);
  border-radius: 12px;
  background: #111;
}

.farm-intro-video-card .farm-intro-video-preview iframe,
.farm-intro-video-card .farm-intro-video-preview video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.farm-intro-video-card .farm-intro-video-preview video {
  object-fit: contain;
  background: #111;
}

@media (max-width: 575px) {
  .farm-intro-video-card .farm-intro-video-current {
    padding-left: 6px;
    margin-bottom: 16px;
  }

  .farm-intro-video-card .farm-intro-video-preview {
    width: 100%;
    max-width: 320px;
  }
}

/* V82.12 — Farm certificate list + drag ordering */
.central-table-certificates .certificate-sort-col {
  width: 48px;
  min-width: 48px;
  text-align: center;
}
.central-table-certificates .certificate-drag-handle {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9e4dc;
  border-radius: 10px;
  background: #fff;
  color: var(--farm-admin-theme, #2d6a4f);
  cursor: grab;
  touch-action: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.central-table-certificates .certificate-drag-handle:hover {
  border-color: var(--farm-admin-theme-border, #9fbeaa);
  background: var(--farm-admin-theme-soft, #f4f8f5);
}
.central-table-certificates .certificate-drag-handle:active { cursor: grabbing; transform: scale(.97); }
.central-table-certificates .certificate-drag-handle .central-action-svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  stroke: none;
}
.central-table-certificates tr.is-pointer-dragging {
  background: #fff;
  box-shadow: 0 14px 34px rgba(25, 51, 38, .16);
  border-radius: 12px;
  opacity: .97;
}
.central-table-certificates .certificate-sort-placeholder td {
  background: var(--farm-admin-theme-soft, #f4f8f5);
  border: 2px dashed var(--farm-admin-theme-border, #a9c4b3);
}
.certificate-sort-active { user-select: none; cursor: grabbing; }
.certificate-list-head { align-items: center; }
.certificate-sort-status { white-space: nowrap; font-weight: 700; }
.certificate-sort-status.is-saving { color: #9a6700; }
.certificate-sort-status.is-success { color: #29734e; }
.certificate-sort-status.is-error { color: #b42318; }
@media (max-width: 760px) {
  .certificate-sort-status { white-space: normal; font-size: 13px; }
}

/* =========================================================
 * V82.13 — CENTRAL CERTIFICATE VERIFICATION
 * ========================================================= */
.certificate-admin-filters{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;
}
.certificate-admin-filters a{
  display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #dfe7e1;
  border-radius:999px;background:#fff;color:#52675a;text-decoration:none;font-size:.84rem;font-weight:700;
}
.certificate-admin-filters a span{
  min-width:24px;padding:2px 7px;border-radius:999px;background:#f2f6f3;text-align:center;font-size:.75rem;
}
.certificate-admin-filters a.is-active{
  border-color:#7ca58a;background:#eef6f0;color:#214e32;
}
.certificate-verify-badge{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 9px;
  border-radius:999px;font-size:.76rem;font-weight:800;background:#f2f4f3;color:#647069;
}
.certificate-verify-badge.is-unverified{background:#fff6df;color:#8a6410}
.certificate-verify-badge.is-verified{background:#e9f7ed;color:#24703d}
.certificate-verify-badge.is-rejected{background:#fff0ef;color:#b23b32}
.certificate-review-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #dce5df;border-radius:9px;background:#fff;text-decoration:none}
.certificate-review-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.certificate-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#edf1ee;border-top:1px solid #edf1ee}
.certificate-review-grid>div{background:#fff;padding:14px 16px;min-width:0}
.certificate-review-grid .is-wide{grid-column:1/-1}
.certificate-review-grid span,.certificate-review-doc span,.certificate-review-links span{display:block;margin-bottom:5px;color:#7b8980;font-size:.78rem;font-weight:700}
.certificate-review-grid strong{display:block;color:#2e4937;font-size:.92rem;overflow-wrap:anywhere}
.certificate-review-grid p{margin:0;color:#53665a;line-height:1.65}
.certificate-review-doc-grid{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:18px;padding:16px}
.certificate-review-doc img{display:block;width:100%;max-height:440px;object-fit:contain;border:1px solid #e1e7e2;border-radius:12px;background:#f8faf8}
.certificate-review-empty{display:grid;place-items:center;min-height:180px;border:1px dashed #d8e0da;border-radius:12px;background:#fafcfb;color:#8a958d}
.certificate-review-links{display:grid;align-content:start;gap:14px}
.certificate-review-links>div{padding:12px 14px;border:1px solid #e4e9e5;border-radius:11px;background:#fbfcfb}
.certificate-review-links strong{display:block;color:#2e4937}
.certificate-review-links small{display:block;margin-top:4px;color:#8b958f}
.certificate-review-note p{margin:0;color:#5b675f;line-height:1.6}
.certificate-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width: 900px){
  .certificate-review-grid,.certificate-review-actions,.certificate-review-doc-grid{grid-template-columns:1fr}
  .certificate-review-grid .is-wide{grid-column:auto}
  .certificate-admin-table{min-width:980px}
}

/* =========================================================
 * V82.14 — Certificate verification textarea form fix
 * Scope: admin certificate review actions only
 * ========================================================= */
.certificate-review-actions .central-form{
  padding:16px;
  gap:12px;
}
.certificate-review-actions .central-form label{
  display:grid;
  gap:6px;
  min-width:0;
}
.certificate-review-actions .central-form label > span{
  display:block;
  color:#4d6755;
  font-size:.9rem;
  font-weight:700;
  line-height:1.45;
}
.certificate-review-actions .central-form textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:112px;
  padding:10px 12px;
  border:1px solid #dce4de;
  border-radius:10px;
  background:#fff;
  color:#314b3a;
  font:inherit;
  font-size:.9rem;
  line-height:1.55;
  resize:vertical;
  box-sizing:border-box;
  outline:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.certificate-review-actions .central-form textarea::placeholder{
  color:#98a39c;
  opacity:1;
}
.certificate-review-actions .central-form textarea:focus{
  border-color:#86aa94;
  box-shadow:0 0 0 3px rgba(78,132,96,.12);
  background:#fff;
}
.certificate-review-actions .central-form .farm-admin-primary-action{
  width:100%;
  justify-content:center;
}
@media(max-width:900px){
  .certificate-review-actions .central-form{padding:14px;}
}


/* =========================================================
   V82.15 FARM NEWS SYSTEM
   ========================================================= */
.farm-news-featured-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:#fff6d8;color:#8a6500;font-size:11px;font-weight:700;vertical-align:middle;white-space:nowrap}
.central-product-action-icon.is-featured{background:#fff6d8;border-color:#efd67b;color:#8a6500}
.central-product-action-icon.is-featured .central-action-svg{stroke:#8a6500;fill:#fff1a8}
.farm-news-table .central-content-title-copy small{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.farm-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.farm-news-card{border:1px solid var(--farm-theme-border,#dfe8e2);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(22,48,37,.06)}
.farm-news-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.farm-news-card-image{aspect-ratio:16/9;background:#f4f6f3;overflow:hidden}.farm-news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.farm-news-card:hover .farm-news-card-image img{transform:scale(1.025)}
.farm-news-card-body{padding:16px}.farm-news-card-body>span{display:block;color:#7f8b84;font-size:12px;margin-bottom:7px}.farm-news-card-body h3{font-size:18px;line-height:1.35;margin:0 0 8px;color:var(--farm-theme-deep,#173025)}.farm-news-card-body p{font-size:14px;line-height:1.6;color:#66736b;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.farm-news-card-body strong{font-size:13px;color:var(--farm-theme-primary,#2d6a4f)}
.farm-news-detail,.public-news-detail{max-width:920px;margin:0 auto}.farm-news-detail-cover,.public-news-cover{margin:18px 0 24px;border-radius:20px;overflow:hidden;background:#f4f6f3;aspect-ratio:16/9}.farm-news-detail-cover img,.public-news-cover img{width:100%;height:100%;object-fit:cover}.farm-news-detail-meta{display:flex;gap:12px;align-items:center;color:#7f8b84;font-size:13px;margin-bottom:14px}.public-news-lead{font-size:18px;line-height:1.75;font-weight:600;color:#30483c;margin:0 0 24px}.public-news-body{font-size:16px;line-height:1.9;color:#33443b;white-space:normal}.public-news-source{margin-top:32px;padding:18px;border-radius:16px;background:#f7faf8;border:1px solid #e2ebe5;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.public-news-source span{font-size:12px;color:#7a877f}.public-news-source strong{color:#243e31}.public-news-source a{margin-left:auto;text-decoration:none;font-weight:700}
.farm-news-public-card .farm-news-card-link{display:block;color:inherit;text-decoration:none;height:100%}.farm-news-source-label{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:12px;color:#4d765f}.home-news-card-link{display:block;color:inherit;text-decoration:none;height:100%}.home-news-card-link>img{width:100%;height:170px;object-fit:cover}
@media(max-width:991px){.farm-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.farm-news-grid{grid-template-columns:1fr}.farm-news-card-body h3{font-size:17px}.public-news-lead{font-size:16px}.public-news-body{font-size:15px}.public-news-source a{width:100%;margin-left:0}}

/* Public Farm Homepage V1 */
.farm-public-home-v1{background:#fff}.farm-public-v1-hero{padding:34px 0 18px;background:linear-gradient(180deg,var(--farm-theme-softer,#f7faf8) 0%,#fff 100%)}
.farm-public-v1-hero-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:34px;align-items:center;padding:34px;border:1px solid var(--farm-theme-border,#dfe8e2);border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(22,48,37,.07)}
.farm-public-v1-identity{display:flex;gap:16px;align-items:center;margin-bottom:20px}.farm-public-v1-logo{width:76px;height:76px;border-radius:22px;border:1px solid var(--farm-theme-border,#dfe8e2);background:var(--farm-theme-softer,#f6faf7);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.farm-public-v1-logo img{width:100%;height:100%;object-fit:cover}.farm-public-v1-logo span{font-size:20px;font-weight:800;color:var(--farm-theme-deep,#173025)}
.farm-public-v1-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:7px 0 0;color:var(--farm-theme-deep,#173025)}.farm-public-v1-tagline{font-size:20px;line-height:1.55;font-weight:650;color:#355648;margin:0 0 10px}.farm-public-v1-description{font-size:15px;line-height:1.75;color:#67746e;margin:0;max-width:640px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.farm-public-v1-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px}.farm-public-v1-text-link,.farm-public-v1-inline-link{display:inline-flex;align-items:center;gap:7px;color:var(--farm-theme-primary,#2d6a4f);font-weight:750;text-decoration:none}.farm-public-v1-text-link:hover,.farm-public-v1-inline-link:hover{color:var(--farm-theme-dark,#24563f)}.farm-public-v1-location{margin-top:20px;display:flex;align-items:flex-start;gap:7px;color:#728078;font-size:14px}
.farm-public-v1-media-frame{position:relative;overflow:hidden;border-radius:24px;background:#edf3ef;aspect-ratio:16/10;box-shadow:0 10px 28px rgba(24,49,38,.10)}.farm-public-v1-media-frame iframe,.farm-public-v1-media-frame video,.farm-public-v1-media-frame>img{display:block;width:100%;height:100%;border:0;object-fit:cover}.farm-public-v1-media-label{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--farm-theme-deep,#173025);font-size:12px;font-weight:800;box-shadow:0 4px 16px rgba(0,0,0,.08);pointer-events:none}
.farm-public-v1-about-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px}.farm-public-v1-story-card{position:relative;padding:30px;border:1px solid var(--farm-theme-border,#dfe8e2);border-radius:24px;background:#fff}.farm-public-v1-story-card p{font-size:17px;line-height:1.85;color:#536159;margin:0 0 18px;max-width:850px}.farm-public-v1-quote{position:absolute;right:24px;top:18px;font-size:36px;color:rgba(var(--farm-theme-primary-rgb,45,106,79),.12)}.farm-public-v1-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.farm-public-v1-fact{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:18px;background:var(--farm-theme-softer,#f7faf8);border:1px solid var(--farm-theme-border,#dfe8e2)}.farm-public-v1-fact-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--farm-theme-primary,#2d6a4f);flex:0 0 auto}.farm-public-v1-fact small{display:block;color:#7a867f;margin-bottom:3px}.farm-public-v1-fact strong{display:block;color:#30443a;line-height:1.45;font-size:14px}
.farm-public-v1-album-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.farm-public-v1-album-card{display:block;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--farm-theme-border,#dfe8e2);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.farm-public-v1-album-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(22,48,37,.10)}.farm-public-v1-album-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#edf3ef}.farm-public-v1-album-card.is-featured .farm-public-v1-album-cover{aspect-ratio:16/9}.farm-public-v1-album-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.farm-public-v1-album-card:hover img{transform:scale(1.025)}.farm-public-v1-album-counts{position:absolute;left:12px;bottom:12px;display:flex;gap:7px}.farm-public-v1-album-counts span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.94);font-size:12px;font-weight:750;color:var(--farm-theme-deep,#173025)}.farm-public-v1-album-body{padding:17px}.farm-public-v1-album-body h3{font-size:19px;line-height:1.35;margin:0 0 7px;color:var(--farm-theme-deep,#173025)}.farm-public-v1-album-body p{font-size:14px;color:#6b7771;line-height:1.6;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.farm-public-v1-album-body strong{font-size:13px;color:var(--farm-theme-primary,#2d6a4f)}
.farm-public-v1-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.farm-public-v1-news-empty{display:flex;gap:14px;align-items:center;padding:22px;border:1px dashed var(--farm-theme-border,#dfe8e2);border-radius:18px;background:var(--farm-theme-softer,#f7faf8);color:#617068}.farm-public-v1-news-empty>i{font-size:28px;color:var(--farm-theme-primary,#2d6a4f)}.farm-public-v1-news-empty strong{display:block;color:#30443a;margin-bottom:3px}.farm-public-v1-news-empty p{margin:0;font-size:14px}
.farm-public-v1-contact{padding-top:18px}.farm-public-v1-contact-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px;border-radius:26px;background:linear-gradient(135deg,var(--farm-theme-deep,#173025),var(--farm-theme-primary,#2d6a4f));color:#fff;overflow:hidden}.farm-public-v1-contact-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-110px;background:rgba(255,255,255,.08)}.farm-public-v1-contact-copy,.farm-public-v1-contact-actions,.farm-public-v1-contact-more{position:relative;z-index:1}.farm-public-v1-contact-card .eyebrow{color:rgba(255,255,255,.76)}.farm-public-v1-contact-card h2{color:#fff;margin:6px 0 8px;max-width:680px}.farm-public-v1-contact-card p{margin:0;color:rgba(255,255,255,.82)}.farm-public-v1-contact-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.farm-public-v1-contact-card .btn-primary-custom{background:#fff!important;color:var(--farm-theme-deep,#173025)!important;border-color:#fff!important}.farm-public-v1-contact-card .btn-outline-custom{border-color:rgba(255,255,255,.55)!important;color:#fff!important;background:transparent!important}.farm-public-v1-contact-card .btn-outline-custom:hover{background:rgba(255,255,255,.10)!important}.farm-public-v1-contact-more{grid-column:1/-1;display:inline-flex;align-items:center;gap:7px;width:max-content;color:#fff;text-decoration:none;font-weight:700;font-size:13px;border-bottom:1px solid rgba(255,255,255,.4)}
@media(max-width:991px){.farm-public-v1-hero-card{grid-template-columns:1fr;gap:22px;padding:26px}.farm-public-v1-about-grid{grid-template-columns:1fr}.farm-public-v1-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.farm-public-v1-album-card.is-featured{grid-column:1/-1}.farm-public-v1-contact-card{grid-template-columns:1fr}.farm-public-v1-contact-actions{justify-content:flex-start}.farm-public-v1-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.farm-public-v1-hero{padding:14px 0 8px}.farm-public-v1-hero-card{padding:18px;border-radius:20px;gap:16px}.farm-public-v1-identity{gap:11px;margin-bottom:14px}.farm-public-v1-logo{width:56px;height:56px;border-radius:16px}.farm-public-v1-hero h1{font-size:27px}.farm-public-v1-tagline{font-size:17px}.farm-public-v1-description{font-size:14px;-webkit-line-clamp:2}.farm-public-v1-actions{margin-top:17px;gap:8px}.farm-public-v1-actions .btn{flex:1 1 calc(50% - 8px);padding-left:10px;padding-right:10px}.farm-public-v1-text-link{width:100%;justify-content:center;padding-top:2px}.farm-public-v1-location{margin-top:14px}.farm-public-v1-media-frame{border-radius:17px;aspect-ratio:16/9}.farm-public-v1-story-card{padding:22px}.farm-public-v1-story-card p{font-size:15px}.farm-public-v1-facts{grid-template-columns:1fr}.farm-public-v1-album-grid,.farm-public-v1-news-grid{grid-template-columns:1fr}.farm-public-v1-album-card.is-featured{grid-column:auto}.farm-public-v1-contact-card{padding:24px 20px;border-radius:21px}.farm-public-v1-contact-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.farm-public-v1-contact-actions .btn{width:100%}.farm-public-v1-contact-more{width:100%;justify-content:center;border-bottom:0}.farm-public-v1-news-empty{align-items:flex-start}}


/* =========================================================
   V82.22 PUBLIC FARM TYPOGRAPHY + THEME BALANCE
   60% neutral / 30% farm-theme soft surfaces / 10% accent
   Scoped to the public farm homepage only.
   ========================================================= */
.farm-public-home-v1{
  --farm-public-font-body:16px;
  --farm-public-font-meta:14px;
  --farm-public-font-card:18px;
  --farm-public-font-section:21px;
  --farm-public-font-hero:38px;
  color:#31453a;
  font-size:var(--farm-public-font-body);
  line-height:1.7;
}
.farm-public-home-v1,
.farm-public-home-v1 button,
.farm-public-home-v1 input,
.farm-public-home-v1 textarea,
.farm-public-home-v1 select{
  font-family:inherit;
}

/* Section rhythm: one clear heading only, no duplicated title/subtitle pair. */
.farm-public-home-v1 .farm-section-head{
  align-items:center;
  margin-bottom:20px;
  padding-bottom:12px;
  border-bottom:1px solid var(--farm-theme-border,#dfe8e2);
}
.farm-public-home-v1 .farm-section-head > div{
  display:flex;
  align-items:center;
  min-width:0;
}
.farm-public-home-v1 .farm-section-head .eyebrow{
  position:relative;
  margin:0;
  padding-left:14px;
  color:var(--farm-theme-deep,#173025);
  font-size:var(--farm-public-font-section);
  font-weight:800;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}
.farm-public-home-v1 .farm-section-head .eyebrow::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:4px;
  border-radius:999px;
  background:var(--farm-theme-primary,#2d6a4f);
}
.farm-public-home-v1 .farm-section-head > a{
  font-size:15px;
  font-weight:750;
  color:var(--farm-theme-primary,#2d6a4f);
}

/* 60/30/10 color balance: mostly white, themed soft bands/cards, accent on actions. */
.farm-public-home-v1 .bg-soft,
.farm-public-home-v1 .farm-public-v1-gallery{
  background:var(--farm-theme-softer,#f7faf8)!important;
}
.farm-public-home-v1 .farm-public-v1-about,
.farm-public-home-v1 .farm-certificates-preview,
.farm-public-home-v1 .farm-public-v1-news{
  position:relative;
}
.farm-public-home-v1 .farm-public-v1-about::before,
.farm-public-home-v1 .farm-certificates-preview::before,
.farm-public-home-v1 .farm-public-v1-news::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 48%,transparent 52%);
  opacity:.45;
}

/* Hero hierarchy kept prominent but no oversized typography. */
.farm-public-home-v1 .farm-public-v1-hero h1{
  font-size:clamp(30px,3vw,var(--farm-public-font-hero));
  line-height:1.25;
}
.farm-public-home-v1 .farm-public-v1-tagline{
  font-size:20px;
  line-height:1.55;
}
.farm-public-home-v1 .farm-public-v1-description,
.farm-public-home-v1 .farm-public-v1-story-card p,
.farm-public-home-v1 .farm-public-v1-contact-card p,
.farm-public-home-v1 .empty-state-card,
.farm-public-home-v1 .farm-certificate-empty p,
.farm-public-home-v1 .farm-public-v1-news-empty p{
  font-size:var(--farm-public-font-body);
  line-height:1.75;
}

/* Remove very-small typography on the public farm page for older users. */
.farm-public-home-v1 .farm-member-badge,
.farm-public-home-v1 .farm-public-v1-location,
.farm-public-home-v1 .farm-public-v1-media-label,
.farm-public-home-v1 .farm-public-v1-fact small,
.farm-public-home-v1 .farm-public-v1-album-counts span,
.farm-public-home-v1 .farm-news-card-body > span,
.farm-public-home-v1 .commerce-category,
.farm-public-home-v1 .farm-certificate-body > span,
.farm-public-home-v1 .certificate-verified-badge,
.farm-public-home-v1 .farm-public-v1-contact-more{
  font-size:var(--farm-public-font-meta)!important;
  line-height:1.45;
}
.farm-public-home-v1 .farm-public-v1-fact strong{
  font-size:16px;
  line-height:1.55;
}

/* Card titles use one consistent level across products, certificates, albums and news. */
.farm-public-home-v1 .commerce-product-body h3,
.farm-public-home-v1 .farm-certificate-body h3,
.farm-public-home-v1 .farm-public-v1-album-body h3,
.farm-public-home-v1 .farm-news-card-body h3{
  font-size:var(--farm-public-font-card)!important;
  line-height:1.45;
  font-weight:750;
}
.farm-public-home-v1 .farm-public-v1-album-body p,
.farm-public-home-v1 .farm-news-card-body p,
.farm-public-home-v1 .farm-certificate-body p{
  font-size:var(--farm-public-font-body)!important;
  line-height:1.65;
}
.farm-public-home-v1 .farm-public-v1-album-body strong,
.farm-public-home-v1 .farm-news-card-body strong,
.farm-public-home-v1 .farm-certificate-body a{
  font-size:15px;
}

/* More visible farm identity without flooding the page with color. */
.farm-public-home-v1 .farm-public-v1-hero-card,
.farm-public-home-v1 .farm-public-v1-story-card,
.farm-public-home-v1 .commerce-product-card,
.farm-public-home-v1 .farm-certificate-card,
.farm-public-home-v1 .farm-public-v1-album-card,
.farm-public-home-v1 .farm-news-card{
  border-color:var(--farm-theme-border,#dfe8e2);
}
.farm-public-home-v1 .farm-public-v1-hero-card{
  box-shadow:0 18px 48px color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 10%,transparent 90%);
}
.farm-public-home-v1 .farm-public-v1-fact,
.farm-public-home-v1 .farm-public-v1-news-empty,
.farm-public-home-v1 .farm-certificate-empty{
  background:var(--farm-theme-softer,#f7faf8);
}
.farm-public-home-v1 .farm-public-v1-fact-icon,
.farm-public-home-v1 .certificate-verified-badge{
  color:var(--farm-theme-primary,#2d6a4f);
}
.farm-public-home-v1 .btn-primary-custom{
  background:var(--farm-theme-primary,#2d6a4f)!important;
  border-color:var(--farm-theme-primary,#2d6a4f)!important;
}
.farm-public-home-v1 .btn-outline-custom{
  color:var(--farm-theme-deep,#173025)!important;
  border-color:var(--farm-theme-border,#bdd3c4)!important;
  background:#fff!important;
}
.farm-public-home-v1 .btn-outline-custom:hover{
  background:var(--farm-theme-softer,#f7faf8)!important;
  border-color:var(--farm-theme-primary,#2d6a4f)!important;
}
/* Keep the contact CTA intentionally stronger as the ~10% accent area. */
.farm-public-home-v1 .farm-public-v1-contact-card .btn-outline-custom{
  border-color:rgba(255,255,255,.58)!important;
  color:#fff!important;
  background:transparent!important;
}

@media(max-width:575px){
  .farm-public-home-v1{
    --farm-public-font-body:16px;
    --farm-public-font-meta:14px;
    --farm-public-font-card:18px;
    --farm-public-font-section:20px;
    --farm-public-font-hero:30px;
    line-height:1.65;
  }
  .farm-public-home-v1 .farm-public-v1-hero h1{font-size:28px;}
  .farm-public-home-v1 .farm-public-v1-tagline{font-size:18px;}
  .farm-public-home-v1 .farm-section-head{gap:12px;align-items:flex-start;}
  .farm-public-home-v1 .farm-section-head > a{font-size:15px;white-space:nowrap;}
  .farm-public-home-v1 .farm-public-v1-story-card p{font-size:16px;}
}

/* =========================================================
   V82.23 PUBLIC FARM SOFT THEME + ORIGINAL EYEBROW
   Restore the original compact pill heading and use farm theme
   as a soft identity accent instead of structural lines.
   ========================================================= */
.farm-public-home-v1 .farm-section-head{
  align-items:flex-end;
  margin-bottom:18px;
  padding-bottom:0;
  border-bottom:0;
}
.farm-public-home-v1 .farm-section-head > div{
  display:block;
}
.farm-public-home-v1 .farm-section-head .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:8px 14px;
  border-radius:999px;
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 8%,#fff 92%);
  color:var(--farm-theme-deep,#173025);
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
}
.farm-public-home-v1 .farm-section-head .eyebrow::before{
  content:"";
  position:static;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--farm-theme-primary,#2d6a4f);
  opacity:.9;
}

/* Remove the vertical section-marker treatment from V82.22. */
.farm-public-home-v1 .farm-public-v1-about::before,
.farm-public-home-v1 .farm-certificates-preview::before,
.farm-public-home-v1 .farm-public-v1-news::before{
  content:none;
  display:none;
}

/* Softer identity treatment: theme is felt through surfaces and accents,
   while cards and reading areas remain neutral and calm. */
.farm-public-home-v1 .bg-soft,
.farm-public-home-v1 .farm-public-v1-gallery{
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 3%,#fbfcfb 97%)!important;
}
.farm-public-home-v1 .farm-public-v1-hero-card,
.farm-public-home-v1 .farm-public-v1-story-card,
.farm-public-home-v1 .commerce-product-card,
.farm-public-home-v1 .farm-certificate-card,
.farm-public-home-v1 .farm-public-v1-album-card,
.farm-public-home-v1 .farm-news-card{
  border-color:#e5ebe7;
}
.farm-public-home-v1 .farm-public-v1-hero-card{
  box-shadow:0 16px 42px rgba(27,54,42,.07);
}
.farm-public-home-v1 .farm-public-v1-fact,
.farm-public-home-v1 .farm-public-v1-news-empty,
.farm-public-home-v1 .farm-certificate-empty{
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 5%,#fff 95%);
  border-color:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 12%,#e8ece9 88%);
}
.farm-public-home-v1 .farm-public-v1-fact-icon{
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 7%,#fff 93%);
}
.farm-public-home-v1 .farm-public-v1-text-link,
.farm-public-home-v1 .farm-public-v1-inline-link,
.farm-public-home-v1 .farm-section-head > a,
.farm-public-home-v1 .farm-public-v1-album-body strong,
.farm-public-home-v1 .farm-news-card-body strong{
  color:var(--farm-theme-primary,#2d6a4f);
}
.farm-public-home-v1 .btn-outline-custom{
  color:var(--farm-theme-deep,#173025)!important;
  border-color:#dfe6e2!important;
  background:#fff!important;
}
.farm-public-home-v1 .btn-outline-custom:hover{
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 6%,#fff 94%)!important;
  border-color:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 35%,#dfe6e2 65%)!important;
}

/* Keep the selected farm colour strongest only where it helps orientation:
   primary action, active accents and final contact CTA. */
.farm-public-home-v1 .btn-primary-custom{
  background:var(--farm-theme-primary,#2d6a4f)!important;
  border-color:var(--farm-theme-primary,#2d6a4f)!important;
}

@media(max-width:575px){
  .farm-public-home-v1 .farm-section-head{
    align-items:flex-end;
    gap:10px;
  }
  .farm-public-home-v1 .farm-section-head .eyebrow{
    padding:8px 14px;
    font-size:14px;
  }
}

/* =========================================================
   V82.26 PUBLIC FARM HERO LEFT PANEL THEME GRADIENT
   Dark-to-soft theme gradient for the left copy panel only,
   with contrast-safe text and more compact mobile CTA buttons.
   ========================================================= */
.farm-public-v1-hero-card > :first-child{
  position:relative;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:28px 30px;
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 88%,#163628 12%) 0%,
      color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 68%,rgba(255,255,255,.08) 32%) 38%,
      color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 38%,rgba(255,255,255,.26) 62%) 72%,
      rgba(255,255,255,.10) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.farm-public-v1-hero-card > :first-child::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.14) 0, rgba(255,255,255,.06) 18%, transparent 48%),
    radial-gradient(circle at bottom right, rgba(255,255,255,.08) 0, transparent 40%);
  pointer-events:none;
}
.farm-public-v1-hero-card > :first-child > *{
  position:relative;
  z-index:1;
}
.farm-public-v1-hero-card > :first-child .farm-member-badge{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
}
.farm-public-v1-hero-card > :first-child .farm-public-v1-logo{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.farm-public-v1-hero-card > :first-child .farm-public-v1-location,
.farm-public-v1-hero-card > :first-child .farm-public-v1-description{
  color:rgba(255,255,255,.80);
}
.farm-public-v1-hero-card > :first-child h1,
.farm-public-v1-hero-card > :first-child .farm-public-v1-tagline,
.farm-public-v1-hero-card > :first-child .farm-public-v1-description,
.farm-public-v1-hero-card > :first-child .farm-public-v1-location,
.farm-public-v1-hero-card > :first-child .farm-public-v1-location i,
.farm-public-v1-hero-card > :first-child .farm-public-v1-inline-link,
.farm-public-v1-hero-card > :first-child .farm-public-v1-text-link{
  color:#fff;
}
.farm-public-v1-hero-card > :first-child .farm-public-v1-tagline{
  color:rgba(255,255,255,.93);
}
.farm-public-v1-hero-card > :first-child .btn-primary-custom{
  background:#fff !important;
  border-color:#fff !important;
  color:var(--farm-theme-deep,#173025) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
}
.farm-public-v1-hero-card > :first-child .btn-outline-custom{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.34) !important;
  backdrop-filter:blur(3px);
}
.farm-public-v1-hero-card > :first-child .btn-outline-custom:hover{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.46) !important;
}
.farm-public-v1-hero-card > :first-child .farm-public-v1-inline-link,
.farm-public-v1-hero-card > :first-child .farm-public-v1-text-link{
  text-decoration:none;
}
.farm-public-v1-hero-card > :first-child .farm-public-v1-inline-link:hover,
.farm-public-v1-hero-card > :first-child .farm-public-v1-text-link:hover{
  color:rgba(255,255,255,.86);
}

/* More compact hero CTAs on smaller screens */
@media(max-width:767px){
  .farm-public-v1-hero-card{
    gap:20px;
    padding:18px;
  }
  .farm-public-v1-hero-card > :first-child{
    padding:22px 20px;
    border-radius:20px;
  }
  .farm-public-v1-actions{
    gap:8px;
    margin-top:18px;
  }
  .farm-public-v1-actions .btn,
  .farm-public-v1-actions .btn-primary-custom,
  .farm-public-v1-actions .btn-outline-custom,
  .farm-public-v1-actions a.btn{
    min-height:42px;
    padding:10px 14px;
    font-size:14px;
    border-radius:999px;
  }
  .farm-public-v1-actions .farm-public-v1-inline-link,
  .farm-public-v1-actions .farm-public-v1-text-link{
    font-size:14px;
    font-weight:700;
  }
}

@media(max-width:575px){
  .farm-public-v1-hero-card > :first-child{
    padding:20px 18px;
  }
  .farm-public-v1-actions{
    gap:8px;
  }
  .farm-public-v1-actions .btn,
  .farm-public-v1-actions .btn-primary-custom,
  .farm-public-v1-actions .btn-outline-custom,
  .farm-public-v1-actions a.btn{
    min-height:40px;
    padding:9px 13px;
    font-size:14px;
  }
}

/* =========================================================
   V82.28 PUBLIC FARM — LEARNHUB-INSPIRED VISUAL SYSTEM
   Adapted to Chan Organic: accessible type, farm theme accents,
   generous card rhythm, neutral surfaces, image-led content.
   ========================================================= */
.farm-public-home-v1{
  --farm-lh-text:#16352b;
  --farm-lh-muted:#66766f;
  --farm-lh-line:#e5ebe7;
  --farm-lh-surface:#ffffff;
  --farm-lh-soft:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 4%,#fafcfb 96%);
  --farm-lh-accent-soft:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 10%,#fff 90%);
  background:#fff;
  color:var(--farm-lh-text);
  font-size:16px;
  line-height:1.7;
}

/* HERO — light editorial/storefront composition */
.farm-public-v1-hero{
  padding:42px 0 34px!important;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 10%,transparent 90%) 0,transparent 32%),
    linear-gradient(180deg,color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 3%,#fff 97%) 0%,#fff 100%)!important;
}
.farm-learnhub-hero{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);
  gap:56px;
  align-items:center;
  min-height:520px;
  padding:42px 48px;
  border:1px solid var(--farm-lh-line);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 54px rgba(22,53,43,.07);
  overflow:hidden;
}
/* Neutralize V82.26 dark left-panel rules */
.farm-learnhub-hero > .farm-public-v1-hero-copy{
  position:relative;
  align-self:auto;
  display:block;
  min-width:0;
  padding:0;
  border-radius:0;
  overflow:visible;
  background:transparent!important;
  box-shadow:none!important;
}
.farm-learnhub-hero > .farm-public-v1-hero-copy::after{display:none!important;content:none!important;}
.farm-learnhub-hero > .farm-public-v1-hero-copy > *{position:relative;z-index:1;}
.farm-learnhub-hero .farm-member-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin:0 0 20px;
  padding:8px 12px;
  border:0!important;
  border-radius:999px;
  background:var(--farm-lh-accent-soft)!important;
  color:var(--farm-theme-deep,#173025)!important;
  font-size:14px!important;
  font-weight:750;
  box-shadow:none!important;
}
.farm-learnhub-hero .farm-member-badge i{color:var(--farm-theme-primary,#2d6a4f);}
.farm-learnhub-identity{margin-bottom:18px!important;align-items:center;}
.farm-learnhub-hero .farm-public-v1-logo{
  width:72px;
  height:72px;
  border-radius:20px;
  border:1px solid color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 18%,#e6ebe8 82%)!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(25,56,45,.07)!important;
}
.farm-learnhub-hero h1{
  margin:0!important;
  color:var(--farm-lh-text)!important;
  font-size:clamp(34px,3.35vw,50px)!important;
  line-height:1.16!important;
  letter-spacing:-.02em;
}
.farm-learnhub-hero .farm-public-v1-location{
  margin-top:7px!important;
  color:var(--farm-lh-muted)!important;
  font-size:15px!important;
}
.farm-learnhub-hero .farm-public-v1-location i{color:var(--farm-theme-primary,#2d6a4f)!important;}
.farm-learnhub-hero .farm-public-v1-tagline{
  max-width:620px;
  margin:0 0 10px!important;
  color:#315348!important;
  font-size:20px!important;
  line-height:1.55!important;
  font-weight:700;
}
.farm-learnhub-hero .farm-public-v1-description{
  max-width:650px;
  color:var(--farm-lh-muted)!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.farm-learnhub-hero .farm-public-v1-actions{margin-top:24px;gap:10px;}
.farm-learnhub-hero .farm-public-v1-actions .btn{
  min-height:46px;
  padding:11px 18px;
  border-radius:12px;
  font-size:15px;
  font-weight:750;
}
.farm-learnhub-hero .btn-primary-custom{
  background:var(--farm-theme-primary,#2d6a4f)!important;
  border-color:var(--farm-theme-primary,#2d6a4f)!important;
  color:#fff!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 18%,transparent 82%)!important;
}
.farm-learnhub-hero .btn-outline-custom{
  background:#fff!important;
  color:var(--farm-lh-text)!important;
  border-color:#dfe6e2!important;
  backdrop-filter:none!important;
}
.farm-learnhub-hero .btn-outline-custom:hover{
  background:var(--farm-lh-soft)!important;
  color:var(--farm-theme-deep,#173025)!important;
  border-color:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 30%,#dfe6e2 70%)!important;
}
.farm-learnhub-hero .farm-public-v1-text-link{
  color:var(--farm-theme-primary,#2d6a4f)!important;
  font-size:15px;
  font-weight:750;
  padding:8px 4px;
}
.farm-learnhub-stats{
  display:flex;
  align-items:stretch;
  gap:10px;
  flex-wrap:wrap;
  margin-top:30px;
}
.farm-learnhub-stat{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:118px;
  min-height:72px;
  padding:11px 14px;
  border:1px solid var(--farm-lh-line);
  border-radius:14px;
  background:#fff;
}
.farm-learnhub-stat strong{font-size:21px;line-height:1.15;color:var(--farm-theme-deep,#173025);}
.farm-learnhub-stat strong i{color:var(--farm-theme-primary,#2d6a4f);}
.farm-learnhub-stat span{margin-top:5px;font-size:14px;line-height:1.35;color:var(--farm-lh-muted);}
.farm-learnhub-stat-wide{max-width:230px;}
.farm-learnhub-media{position:relative;isolation:isolate;}
.farm-learnhub-media .farm-public-v1-media-frame{
  position:relative;
  z-index:2;
  aspect-ratio:4/3;
  border-radius:24px;
  border:8px solid #fff;
  background:#eef4f0;
  box-shadow:0 22px 50px rgba(24,52,42,.14);
}
.farm-learnhub-media .farm-public-v1-media-label{
  left:16px;
  bottom:16px;
  padding:9px 13px;
  background:rgba(255,255,255,.94);
  color:var(--farm-theme-deep,#173025);
  font-size:14px!important;
}
.farm-learnhub-media-decor{position:absolute;z-index:1;border-radius:999px;pointer-events:none;}
.farm-learnhub-media-decor.decor-one{
  width:150px;height:150px;right:-34px;top:-34px;
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 13%,transparent 87%);
}
.farm-learnhub-media-decor.decor-two{
  width:90px;height:90px;left:-28px;bottom:-22px;
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 9%,transparent 91%);
}

/* SECTIONS — one compact label heading, generous spacing, no hard separators */
.farm-learnhub-section{padding-top:70px;padding-bottom:70px;}
.farm-learnhub-section.bg-soft,
.farm-public-home-v1 .farm-public-v1-gallery{
  background:var(--farm-lh-soft)!important;
}
.farm-public-home-v1 .farm-section-head{
  display:flex;
  align-items:center!important;
  justify-content:space-between;
  gap:18px;
  margin-bottom:26px!important;
  padding:0!important;
  border:0!important;
}
.farm-public-home-v1 .farm-section-head .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:8px 13px;
  border-radius:999px;
  background:var(--farm-lh-accent-soft)!important;
  color:var(--farm-theme-deep,#173025)!important;
  font-size:15px!important;
  line-height:1.3;
  font-weight:750!important;
}
.farm-public-home-v1 .farm-section-head .eyebrow::before{
  width:8px;height:8px;flex:0 0 8px;
  background:var(--farm-theme-primary,#2d6a4f)!important;
}
.farm-public-home-v1 .farm-section-head > a{
  color:var(--farm-theme-primary,#2d6a4f)!important;
  font-size:15px!important;
  font-weight:750;
  text-decoration:none;
}

/* PRODUCT cards — compact course-card feeling */
.farm-learnhub-products .farm-product-grid{gap:20px;}
.farm-learnhub-product-card{
  border:1px solid var(--farm-lh-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(22,53,43,.055);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.farm-learnhub-product-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(22,53,43,.10);}
.farm-learnhub-product-card .commerce-product-image{overflow:hidden;}
.farm-learnhub-product-card .commerce-product-image img{transition:transform .3s ease;}
.farm-learnhub-product-card:hover .commerce-product-image img{transform:scale(1.025);}
.farm-learnhub-product-card .commerce-product-body{padding:18px;}
.farm-learnhub-product-card .commerce-category{font-size:14px!important;color:var(--farm-theme-primary,#2d6a4f);font-weight:700;}
.farm-learnhub-product-card .commerce-product-body h3{font-size:18px!important;line-height:1.45!important;margin-top:7px;}

/* ABOUT — narrative card + feature cards */
.farm-learnhub-about-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;align-items:stretch;}
.farm-learnhub-story-card{
  min-height:100%;
  padding:32px!important;
  border:0!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 4%,#fff 96%) 100%)!important;
  box-shadow:0 10px 30px rgba(22,53,43,.065);
}
.farm-learnhub-story-card .farm-public-v1-quote{display:none;}
.farm-learnhub-story-icon{
  display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;
  border-radius:15px;background:var(--farm-lh-accent-soft);color:var(--farm-theme-primary,#2d6a4f);font-size:22px;
}
.farm-learnhub-story-card p{font-size:17px!important;line-height:1.85!important;color:#53655e!important;}
.farm-learnhub-facts{gap:14px!important;}
.farm-learnhub-facts .farm-public-v1-fact{
  min-height:110px;
  padding:18px!important;
  border:1px solid var(--farm-lh-line)!important;
  border-radius:18px!important;
  background:#fff!important;
}
.farm-learnhub-facts .farm-public-v1-fact-icon{
  width:42px;height:42px;border-radius:13px;background:var(--farm-lh-accent-soft)!important;
}
.farm-learnhub-facts small{font-size:14px!important;}
.farm-learnhub-facts strong{font-size:16px!important;}

/* CERTIFICATES */
.farm-certificate-grid{gap:20px;}
.farm-learnhub-certificate-card{
  border:1px solid var(--farm-lh-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(22,53,43,.05);
}
.farm-learnhub-certificate-card .certificate-verified-badge{
  background:rgba(255,255,255,.95)!important;
  color:var(--farm-theme-primary,#2d6a4f)!important;
  border:1px solid color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 18%,#e6ebe8 82%);
}

/* ALBUMS — image-forward like LearnHub's visual cards */
.farm-public-v1-album-grid{gap:20px!important;}
.farm-public-v1-album-card{
  border:1px solid var(--farm-lh-line)!important;
  border-radius:20px!important;
  box-shadow:0 8px 24px rgba(22,53,43,.05)!important;
}
.farm-public-v1-album-card:hover{box-shadow:0 16px 34px rgba(22,53,43,.10)!important;}
.farm-public-v1-album-counts span{font-size:14px!important;}
.farm-public-v1-album-body{padding:18px!important;}
.farm-public-v1-album-body h3{font-size:18px!important;}

/* NEWS */
.farm-public-v1-news-grid{gap:20px!important;}
.farm-public-v1-news .farm-news-card{
  border:1px solid var(--farm-lh-line)!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(22,53,43,.05)!important;
}
.farm-public-v1-news .farm-news-card:hover{box-shadow:0 16px 34px rgba(22,53,43,.10)!important;}
.farm-public-v1-news .farm-news-card-body{padding:18px!important;}
.farm-public-v1-news .farm-news-card-body>span{font-size:14px!important;}
.farm-public-v1-news .farm-news-card-body h3{font-size:18px!important;}
.farm-public-v1-news .farm-news-card-body p{font-size:16px!important;}

/* Tablet + mobile */
@media(max-width:991px){
  .farm-learnhub-hero{
    grid-template-columns:1fr;
    gap:30px;
    min-height:0;
    padding:34px;
  }
  .farm-learnhub-media{max-width:760px;width:100%;margin:0 auto;}
  .farm-learnhub-about-grid{grid-template-columns:1fr;}
  .farm-learnhub-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .farm-public-v1-hero{padding:22px 0 18px!important;}
  .farm-learnhub-hero{padding:24px 20px;border-radius:22px;gap:24px;}
  .farm-learnhub-hero h1{font-size:30px!important;}
  .farm-learnhub-hero .farm-public-v1-tagline{font-size:18px!important;}
  .farm-learnhub-hero .farm-public-v1-description{font-size:16px!important;}
  .farm-learnhub-identity{gap:12px!important;}
  .farm-learnhub-hero .farm-public-v1-logo{width:62px;height:62px;border-radius:17px;}
  .farm-learnhub-hero .farm-public-v1-actions{gap:8px;margin-top:20px;}
  .farm-learnhub-hero .farm-public-v1-actions .btn{min-height:40px;padding:9px 13px;font-size:14px;border-radius:10px;}
  .farm-learnhub-hero .farm-public-v1-text-link{font-size:14px;padding:7px 3px;}
  .farm-learnhub-stats{margin-top:22px;gap:8px;}
  .farm-learnhub-stat{min-width:0;flex:1 1 108px;min-height:64px;padding:9px 11px;}
  .farm-learnhub-stat strong{font-size:19px;}
  .farm-learnhub-stat span{font-size:13px;}
  .farm-learnhub-media .farm-public-v1-media-frame{border-width:5px;border-radius:18px;}
  .farm-learnhub-media-decor{display:none;}
  .farm-learnhub-section{padding-top:52px;padding-bottom:52px;}
  .farm-public-home-v1 .farm-section-head{margin-bottom:20px!important;align-items:center!important;}
  .farm-public-home-v1 .farm-section-head .eyebrow{font-size:15px!important;}
  .farm-public-home-v1 .farm-section-head > a{font-size:14px!important;white-space:nowrap;}
}
@media(max-width:575px){
  .farm-learnhub-hero{padding:22px 16px;}
  .farm-learnhub-hero .farm-member-badge{margin-bottom:16px;font-size:14px!important;}
  .farm-learnhub-hero h1{font-size:28px!important;}
  .farm-learnhub-facts{grid-template-columns:1fr 1fr;gap:10px!important;}
  .farm-learnhub-facts .farm-public-v1-fact{min-height:98px;padding:14px!important;}
  .farm-learnhub-story-card{padding:24px!important;}
}

/* =========================================================
   V82.29 PUBLIC FARM — LEARNHUB SOURCE-BASED ADAPTATION
   Visual language adapted from the user-supplied LearnHub template:
   spacious hero, subtle glow, rounded cards, centered section heads,
   light/white alternating surfaces, soft shadows, pill actions.
   ========================================================= */
.farm-public-home-v1{
  --farm-lh-text:#262626;
  --farm-lh-body:#525252;
  --farm-lh-muted:#737373;
  --farm-lh-border:#e5e5e5;
  --farm-lh-soft:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 3%,#fafafa 97%);
  --farm-lh-tint:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 9%,#fff 91%);
  background:#fff;
  color:var(--farm-lh-body);
}

/* Hero */
.farm-lh-hero{position:relative;overflow:hidden;padding:72px 0 76px;background:#fff;isolation:isolate}
.farm-lh-hero-glow{position:absolute;z-index:-1;width:720px;height:720px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 7%,transparent 93%);filter:blur(54px);pointer-events:none}
.farm-lh-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1fr);gap:64px;align-items:center}
.farm-lh-hero-copy{min-width:0}
.farm-lh-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 32%,#e5e5e5 68%);border-radius:999px;background:var(--farm-lh-tint);color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:650;line-height:1.2}
.farm-lh-badge i{font-size:8px}
.farm-lh-brandline{display:flex;align-items:center;gap:16px;margin-top:24px}
.farm-lh-logo{width:72px;height:72px;flex:0 0 72px;border:1px solid var(--farm-lh-border);border-radius:20px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 7px 24px rgba(23,23,23,.05)}
.farm-lh-logo img{width:100%;height:100%;object-fit:cover}
.farm-lh-logo span{font-size:20px;font-weight:800;color:var(--farm-theme-primary,#2d6a4f)}
.farm-lh-brandline h1{margin:0;color:var(--farm-lh-text);font-size:clamp(34px,4.2vw,54px);line-height:1.12;font-weight:800;letter-spacing:-.025em}
.farm-lh-location{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--farm-lh-muted);font-size:15px}
.farm-lh-tagline{margin:24px 0 0;color:var(--farm-lh-text);font-size:21px;line-height:1.55;font-weight:650;max-width:680px}
.farm-lh-lead{margin:16px 0 0;color:var(--farm-lh-body);font-size:17px;line-height:1.75;max-width:660px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.farm-lh-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.farm-lh-actions .btn{min-height:46px;padding:11px 20px;border-radius:999px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.farm-lh-btn-primary{background:var(--farm-theme-primary,#2d6a4f)!important;border:1px solid var(--farm-theme-primary,#2d6a4f)!important;color:#fff!important;box-shadow:0 7px 18px color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 20%,transparent 80%)}
.farm-lh-btn-primary:hover{background:var(--farm-theme-dark,var(--farm-theme-primary,#2d6a4f))!important;color:#fff!important;transform:translateY(-1px)}
.farm-lh-btn-light{background:#f5f5f5!important;border:1px solid #f0f0f0!important;color:#303030!important}
.farm-lh-btn-light:hover{background:#eee!important;color:#222!important}
.farm-lh-contact-link{display:inline-flex;align-items:center;gap:7px;padding:9px 4px;color:var(--farm-theme-primary,#2d6a4f);font-size:15px;font-weight:700;text-decoration:none}
.farm-lh-contact-link:hover{color:var(--farm-theme-dark,var(--farm-theme-primary,#2d6a4f))}
.farm-lh-stats{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.farm-lh-stat{display:flex;align-items:center;gap:9px;color:var(--farm-lh-body);font-size:14px;line-height:1.45}
.farm-lh-stat>i{font-size:19px;color:var(--farm-theme-primary,#2d6a4f)}
.farm-lh-stat strong{color:var(--farm-lh-text);font-weight:800}
.farm-lh-stat-crop{max-width:300px}
.farm-lh-hero-visual{position:relative;padding:18px 12px}
.farm-lh-media-card{padding:12px;border:1px solid var(--farm-lh-border);border-radius:32px;background:#fff;box-shadow:0 16px 42px rgba(23,23,23,.09)}
.farm-lh-media-frame{position:relative;aspect-ratio:16/11;overflow:hidden;border-radius:26px;background:#f5f5f5}
.farm-lh-media-frame img,.farm-lh-media-frame video,.farm-lh-media-frame iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}
.farm-lh-float{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--farm-lh-border);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(23,23,23,.09);backdrop-filter:blur(8px);color:var(--farm-lh-text)}
.farm-lh-float span:last-child{display:flex;flex-direction:column;line-height:1.2}
.farm-lh-float strong{font-size:13px;font-weight:800}
.farm-lh-float small{font-size:12px;color:var(--farm-lh-muted);margin-top:3px}
.farm-lh-float-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--farm-lh-tint);color:var(--farm-theme-primary,#2d6a4f);flex:0 0 34px}
.farm-lh-float-top{right:-18px;top:4px}
.farm-lh-float-bottom{left:-22px;bottom:-4px}

/* Sections */
.farm-lh-section{padding:84px 0;background:#fff}
.farm-lh-section-soft{background:var(--farm-lh-soft)}
.farm-lh-section-head{text-align:center;max-width:720px;margin:0 auto 42px}
.farm-lh-section-head>span{display:block;color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:750;letter-spacing:.08em;text-transform:none;margin-bottom:12px}
.farm-lh-section-head h2{margin:0;color:var(--farm-lh-text);font-size:clamp(26px,3vw,34px);line-height:1.25;font-weight:800;letter-spacing:-.015em}
.farm-lh-section-action{text-align:center;margin-top:34px}
.farm-lh-outline-btn{padding:11px 20px!important;border:1px solid #d4d4d4!important;border-radius:999px!important;background:#fff!important;color:#333!important;font-size:15px!important;font-weight:700!important}
.farm-lh-outline-btn:hover{border-color:var(--farm-theme-primary,#2d6a4f)!important;color:var(--farm-theme-primary,#2d6a4f)!important;background:var(--farm-lh-tint)!important}
.farm-lh-empty{display:flex;align-items:center;justify-content:center;gap:9px;min-height:110px;padding:24px;border:1px dashed #d4d4d4;border-radius:22px;background:#fff;color:var(--farm-lh-muted);font-size:16px}

/* Products – adapted from LearnHub course cards */
.farm-lh-section-products{background:#fff}
.farm-lh-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.farm-lh-product-card{overflow:hidden;border:1px solid var(--farm-lh-border);border-radius:26px;background:#fff;box-shadow:0 8px 24px rgba(23,23,23,.055);transition:transform .22s ease,box-shadow .22s ease}
.farm-lh-product-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(23,23,23,.09)}
.farm-lh-product-image{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#f5f5f5}
.farm-lh-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.farm-lh-product-card:hover .farm-lh-product-image img{transform:scale(1.025)}
.farm-lh-product-image>span{position:absolute;left:14px;top:14px;max-width:calc(100% - 28px);padding:7px 11px;border-radius:999px;background:var(--farm-lh-tint);color:var(--farm-theme-primary,#2d6a4f);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-lh-product-body{padding:20px}
.farm-lh-product-body h3{margin:0;color:var(--farm-lh-text);font-size:18px;line-height:1.45;font-weight:750}
.farm-lh-product-body h3 a{color:inherit;text-decoration:none}
.farm-lh-product-meta{display:flex;align-items:center;gap:7px;margin:14px 0 22px;color:var(--farm-lh-muted);font-size:14px}
.farm-lh-product-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid var(--farm-lh-border)}
.farm-lh-product-footer strong{color:var(--farm-lh-text);font-size:19px;font-weight:800}
.farm-lh-product-footer a{display:inline-flex;align-items:center;gap:5px;color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:750;text-decoration:none}

/* About */
.farm-lh-about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:26px;align-items:stretch}
.farm-lh-about-story{padding:34px;border:1px solid var(--farm-lh-border);border-radius:28px;background:#fff;box-shadow:0 8px 24px rgba(23,23,23,.04)}
.farm-lh-about-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--farm-lh-tint);color:var(--farm-theme-primary,#2d6a4f);font-size:22px;margin-bottom:22px}
.farm-lh-about-story p{margin:0;color:var(--farm-lh-body);font-size:17px;line-height:1.85}
.farm-lh-about-story a{display:inline-flex;align-items:center;gap:6px;margin-top:22px;color:var(--farm-theme-primary,#2d6a4f);font-size:15px;font-weight:750;text-decoration:none}
.farm-lh-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.farm-lh-fact-card{display:flex;align-items:flex-start;gap:14px;padding:22px;border:1px solid var(--farm-lh-border);border-radius:24px;background:#fff;box-shadow:0 7px 20px rgba(23,23,23,.035)}
.farm-lh-fact-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--farm-lh-tint);color:var(--farm-theme-primary,#2d6a4f);font-size:18px;flex:0 0 42px}
.farm-lh-fact-card small{display:block;color:var(--farm-lh-muted);font-size:14px;margin-bottom:5px}
.farm-lh-fact-card strong{display:block;color:var(--farm-lh-text);font-size:16px;line-height:1.5;font-weight:750}

/* Certificates */
.farm-lh-certificate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.farm-lh-certificate-card{overflow:hidden;border:1px solid var(--farm-lh-border);border-radius:26px;background:#fff;box-shadow:0 8px 24px rgba(23,23,23,.05);transition:transform .22s ease,box-shadow .22s ease}
.farm-lh-certificate-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(23,23,23,.08)}
.farm-lh-certificate-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f5f5f5}
.farm-lh-certificate-image img{width:100%;height:100%;object-fit:cover}
.farm-lh-verified{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#fff;color:var(--farm-theme-primary,#2d6a4f);font-size:13px;font-weight:750;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.farm-lh-certificate-body{padding:21px}
.farm-lh-certificate-body small{display:block;color:var(--farm-theme-primary,#2d6a4f);font-size:13px;font-weight:700;margin-bottom:7px}
.farm-lh-certificate-body h3{margin:0;color:var(--farm-lh-text);font-size:18px;line-height:1.45;font-weight:750}
.farm-lh-certificate-body p{margin:9px 0 16px;color:var(--farm-lh-muted);font-size:15px;line-height:1.6}
.farm-lh-certificate-body a{display:inline-flex;align-items:center;gap:6px;color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:750;text-decoration:none}

/* Albums */
.farm-lh-album-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:22px}
.farm-lh-album-card{overflow:hidden;border:1px solid var(--farm-lh-border);border-radius:26px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(23,23,23,.05);transition:transform .22s ease,box-shadow .22s ease}
.farm-lh-album-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(23,23,23,.08)}
.farm-lh-album-cover{position:relative;aspect-ratio:16/11;overflow:hidden;background:#f5f5f5}
.farm-lh-album-card.is-featured .farm-lh-album-cover{aspect-ratio:16/10}
.farm-lh-album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.farm-lh-album-card:hover img{transform:scale(1.025)}
.farm-lh-album-counts{position:absolute;left:13px;bottom:13px;display:flex;gap:7px}
.farm-lh-album-counts span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.95);color:#333;font-size:13px;font-weight:700;box-shadow:0 5px 16px rgba(0,0,0,.07)}
.farm-lh-album-body{padding:20px}
.farm-lh-album-body h3{margin:0;color:var(--farm-lh-text);font-size:18px;line-height:1.45;font-weight:750}
.farm-lh-album-body p{margin:9px 0 16px;color:var(--farm-lh-muted);font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.farm-lh-album-body strong{display:inline-flex;align-items:center;gap:6px;color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:750}

/* News */
.farm-lh-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.farm-lh-news-card{overflow:hidden;border:1px solid var(--farm-lh-border);border-radius:26px;background:#fff;box-shadow:0 8px 24px rgba(23,23,23,.05);transition:transform .22s ease,box-shadow .22s ease}
.farm-lh-news-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(23,23,23,.08)}
.farm-lh-news-card>a{display:block;height:100%;color:inherit;text-decoration:none}
.farm-lh-news-image{aspect-ratio:16/10;overflow:hidden;background:#f5f5f5}
.farm-lh-news-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.farm-lh-news-card:hover img{transform:scale(1.025)}
.farm-lh-news-body{padding:21px}
.farm-lh-news-body small{display:block;color:var(--farm-theme-primary,#2d6a4f);font-size:13px;font-weight:700;margin-bottom:8px}
.farm-lh-news-body h3{margin:0;color:var(--farm-lh-text);font-size:18px;line-height:1.45;font-weight:750}
.farm-lh-news-body p{margin:10px 0 16px;color:var(--farm-lh-muted);font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.farm-lh-news-body strong{display:inline-flex;align-items:center;gap:6px;color:var(--farm-theme-primary,#2d6a4f);font-size:14px;font-weight:750}

@media(max-width:1199px){
  .farm-lh-hero-grid{gap:42px;grid-template-columns:minmax(0,1fr) minmax(390px,.95fr)}
  .farm-lh-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:991px){
  .farm-lh-hero{padding:58px 0 62px}
  .farm-lh-hero-grid{grid-template-columns:1fr;gap:40px}
  .farm-lh-hero-copy{max-width:760px}
  .farm-lh-hero-visual{max-width:760px;width:100%;margin:0 auto}
  .farm-lh-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .farm-lh-about-grid{grid-template-columns:1fr}
  .farm-lh-certificate-grid,.farm-lh-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .farm-lh-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .farm-lh-album-card.is-featured{grid-column:1/-1}
}
@media(max-width:767px){
  .farm-lh-hero{padding:38px 0 44px}
  .farm-lh-hero-grid{gap:28px}
  .farm-lh-brandline{align-items:flex-start;margin-top:18px}
  .farm-lh-logo{width:62px;height:62px;flex-basis:62px;border-radius:17px}
  .farm-lh-brandline h1{font-size:30px;line-height:1.2}
  .farm-lh-tagline{font-size:18px;margin-top:18px}
  .farm-lh-lead{font-size:16px;line-height:1.7}
  .farm-lh-actions{gap:8px;margin-top:22px}
  .farm-lh-actions .btn{min-height:40px;padding:9px 14px;font-size:14px}
  .farm-lh-contact-link{font-size:14px;padding:8px 2px}
  .farm-lh-stats{gap:15px 20px;margin-top:25px}
  .farm-lh-stat{font-size:14px}
  .farm-lh-hero-visual{padding:10px 0 20px}
  .farm-lh-media-card{padding:8px;border-radius:24px}
  .farm-lh-media-frame{border-radius:19px}
  .farm-lh-float{padding:8px 11px}
  .farm-lh-float-top{right:4px;top:-5px}
  .farm-lh-float-bottom{left:5px;bottom:2px}
  .farm-lh-float small{display:none}
  .farm-lh-section{padding:58px 0}
  .farm-lh-section-head{margin-bottom:30px}
  .farm-lh-section-head h2{font-size:26px}
  .farm-lh-product-grid,.farm-lh-certificate-grid,.farm-lh-news-grid,.farm-lh-album-grid{grid-template-columns:1fr}
  .farm-lh-album-card.is-featured{grid-column:auto}
  .farm-lh-fact-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .farm-lh-badge{padding:8px 12px;font-size:13px}
  .farm-lh-brandline{gap:12px}
  .farm-lh-logo{width:56px;height:56px;flex-basis:56px}
  .farm-lh-brandline h1{font-size:27px}
  .farm-lh-location{font-size:14px}
  .farm-lh-actions{align-items:flex-start}
  .farm-lh-actions .btn{padding:8px 12px}
  .farm-lh-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .farm-lh-stat-crop{grid-column:1/-1}
  .farm-lh-float{font-size:12px}
  .farm-lh-float-icon{width:30px;height:30px;flex-basis:30px}
  .farm-lh-about-story{padding:26px 22px}
  .farm-lh-fact-card{padding:18px}
}

/* =========================================================
   V82.30 PUBLIC FARM — STORY-FIRST FLOW + COMPACT SECTION RHYTHM
   Hero → About → Certificates → Albums → News → Products.
   Use vertical space efficiently while retaining LearnHub-inspired breathing room.
   ========================================================= */
.farm-public-home-v1 .farm-lh-section{
  padding-top:56px;
  padding-bottom:56px;
}
.farm-public-home-v1 .farm-lh-section-head{
  margin-bottom:26px;
}
.farm-public-home-v1 .farm-lh-section-head>span{
  margin-bottom:8px;
}
.farm-public-home-v1 .farm-lh-section-action{
  margin-top:24px;
}

/* Products now close the farm story as the conversion section. */
.farm-public-home-v1 .farm-lh-section-products{
  background:var(--farm-lh-soft);
}

/* Keep the transition from hero into farm information compact. */
.farm-public-home-v1 .farm-lh-hero{
  padding-bottom:54px;
}
.farm-public-home-v1 .farm-lh-hero + .farm-lh-section{
  padding-top:50px;
}

@media(max-width:991px){
  .farm-public-home-v1 .farm-lh-section{
    padding-top:48px;
    padding-bottom:48px;
  }
  .farm-public-home-v1 .farm-lh-section-head{
    margin-bottom:24px;
  }
  .farm-public-home-v1 .farm-lh-section-action{
    margin-top:22px;
  }
}

@media(max-width:767px){
  .farm-public-home-v1 .farm-lh-hero{
    padding-bottom:34px;
  }
  .farm-public-home-v1 .farm-lh-hero + .farm-lh-section{
    padding-top:38px;
  }
  .farm-public-home-v1 .farm-lh-section{
    padding-top:40px;
    padding-bottom:40px;
  }
  .farm-public-home-v1 .farm-lh-section-head{
    margin-bottom:20px;
  }
  .farm-public-home-v1 .farm-lh-section-head>span{
    margin-bottom:6px;
  }
  .farm-public-home-v1 .farm-lh-section-action{
    margin-top:20px;
  }
}

@media(max-width:480px){
  .farm-public-home-v1 .farm-lh-section{
    padding-top:36px;
    padding-bottom:36px;
  }
  .farm-public-home-v1 .farm-lh-section-head{
    margin-bottom:18px;
  }
}

/* =========================================================
   V82.31 PUBLIC FARM HERO MEDIA REFINEMENT
   Slightly larger media, tighter composition, thin farm-theme border.
   ========================================================= */
.farm-learnhub-hero{
  grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr);
  gap:42px;
}

.farm-learnhub-media{
  width:calc(100% + 10px);
  margin-right:-10px;
}

.farm-learnhub-media .farm-public-v1-media-frame{
  aspect-ratio:4/3;
  border:2px solid color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 52%,#dfe7e2 48%);
  border-radius:22px;
  background:#eef4f0;
  box-shadow:0 18px 42px rgba(24,52,42,.12);
}

@media(max-width:1199px){
  .farm-learnhub-hero{
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    gap:36px;
  }
  .farm-learnhub-media{
    width:100%;
    margin-right:0;
  }
}

@media(max-width:991px){
  .farm-learnhub-hero{
    grid-template-columns:1fr;
    gap:26px;
  }
  .farm-learnhub-media{
    width:100%;
    max-width:800px;
    margin:0 auto;
  }
}

@media(max-width:767px){
  .farm-learnhub-media .farm-public-v1-media-frame{
    border-width:2px;
    border-radius:18px;
    box-shadow:0 12px 28px rgba(24,52,42,.10);
  }
}

/* =========================================================
   V82.32 PUBLIC FARM HERO MEDIA FRAME CORRECT SELECTOR FIX
   Current LearnHub-adapted hero uses .farm-lh-media-card/.farm-lh-media-frame.
   Reduce the white shell and use a subtle farm-theme outline.
   ========================================================= */
.farm-public-home-v1 .farm-lh-hero-visual{
  padding-left:6px;
  padding-right:6px;
}

.farm-public-home-v1 .farm-lh-media-card{
  padding:3px !important;
  border:1px solid color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 38%,#dfe6e2 62%) !important;
  border-radius:27px !important;
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 3%,rgba(255,255,255,.88) 97%) !important;
  box-shadow:0 14px 34px rgba(23,45,36,.10) !important;
}

.farm-public-home-v1 .farm-lh-media-frame{
  border-radius:24px !important;
  background:#f3f6f4;
}

@media(min-width:992px){
  .farm-public-home-v1 .farm-lh-hero-grid{
    grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);
    gap:46px;
  }
  .farm-public-home-v1 .farm-lh-hero-visual{
    width:calc(100% + 12px);
    margin-right:-12px;
  }
}

@media(max-width:767px){
  .farm-public-home-v1 .farm-lh-hero-visual{
    padding-left:0;
    padding-right:0;
  }
  .farm-public-home-v1 .farm-lh-media-card{
    padding:2px !important;
    border-radius:21px !important;
  }
  .farm-public-home-v1 .farm-lh-media-frame{
    border-radius:19px !important;
  }
}

/* =========================================================
   V82.34 PUBLIC FARM HERO MEDIA — FULL THEME FRAME
   Keep current media size/layout. Remove the remaining white shell
   by using the selected farm theme color for the frame itself.
   ========================================================= */
.farm-public-home-v1 .farm-lh-media-card{
  background:var(--farm-theme-primary,#2d6a4f) !important;
  border-color:var(--farm-theme-primary,#2d6a4f) !important;
}


/* =========================================================
   V82.35 PUBLIC FARM HERO MEDIA — SOFTER THEME + DEEPER SHADOW
   Keep size, padding, radius and layout from V82.34 unchanged.
   ========================================================= */
.farm-public-home-v1 .farm-lh-media-card{
  background:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 76%,#ffffff 24%) !important;
  border-color:color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 72%,#ffffff 28%) !important;
  box-shadow:
    0 18px 42px rgba(18,34,28,.16),
    0 8px 22px color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 18%,transparent 82%) !important;
}

@media(max-width:767px){
  .farm-public-home-v1 .farm-lh-media-card{
    box-shadow:
      0 14px 30px rgba(18,34,28,.14),
      0 6px 18px color-mix(in srgb,var(--farm-theme-primary,#2d6a4f) 16%,transparent 84%) !important;
  }
}


/* =========================================================
   V82.44 ADMIN TOPBAR — BORDERLESS CONTENT EDGE
   Keep the sidebar divider for structure, but remove the
   horizontal border under the admin/dashboard topbar.
   ========================================================= */
.farm-admin-topbar{
    border-bottom: 0 !important;
}


/* =========================================================
   V82.45 FARM ADMIN TOPBAR ACTIONS — OWNER THEME
   Scope only to Farm Admin / Seller Center with is-farm-themed.
   Notification bell, main-site link and logout follow the farm
   selected theme. Notification count badge stays red for status.
   ========================================================= */
.admin-shell.is-farm-themed .admin-notification-bell > summary,
.admin-shell.is-farm-themed .admin-shell-public-link,
.admin-shell.is-farm-themed .admin-shell-logout {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 28%, #ffffff 72%);
    background: color-mix(in srgb, var(--farm-admin-soft) 82%, #ffffff 18%);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-notification-bell > summary .bi,
.admin-shell.is-farm-themed .admin-shell-public-link .bi,
.admin-shell.is-farm-themed .admin-shell-logout .bi {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-notification-bell > summary:hover,
.admin-shell.is-farm-themed .admin-notification-bell[open] > summary,
.admin-shell.is-farm-themed .admin-shell-public-link:hover,
.admin-shell.is-farm-themed .admin-shell-logout:hover {
    border-color: var(--farm-admin-primary);
    background: var(--farm-admin-soft);
    color: var(--farm-admin-deep);
    box-shadow: 0 4px 14px rgba(var(--farm-admin-primary-rgb), .10);
}

.admin-shell.is-farm-themed .admin-notification-bell > summary:hover .bi,
.admin-shell.is-farm-themed .admin-notification-bell[open] > summary .bi,
.admin-shell.is-farm-themed .admin-shell-public-link:hover .bi,
.admin-shell.is-farm-themed .admin-shell-logout:hover .bi {
    color: var(--farm-admin-deep);
}

/* Keep the unread count visually distinct from the farm theme. */
.admin-shell.is-farm-themed .admin-notification-badge {
    background: #d9363e;
    color: #fff;
    border-color: #fff;
}


/* =========================================================
   V82.46 ADMIN TOPBAR — REMOVE HORIZONTAL DIVIDER ONLY
   Correct selector for the actual Admin/Seller Center topbar.
   Sidebar divider and all other borders remain unchanged.
   ========================================================= */
.admin-shell .admin-shell-topbar,
.admin-shell.is-farm-themed .admin-shell-topbar {
    border-bottom: 0 !important;
    border-bottom-color: transparent !important;
}


/* =========================================================
   V82.47 FARM ADMIN NOTIFICATION POPOVER — OWNER THEME
   Theme only the actionable/accent elements inside the
   notification dropdown. Keep body text neutral/readable.
   ========================================================= */

/* Header action: "ดูทั้งหมด" */
.admin-shell.is-farm-themed .admin-notification-popover-head a{
    color: var(--farm-admin-primary) !important;
}
.admin-shell.is-farm-themed .admin-notification-popover-head a:hover{
    color: var(--farm-admin-dark) !important;
}

/* Notification item icon */
.admin-shell.is-farm-themed .admin-notification-item-icon{
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 11%,
        #ffffff 89%
    ) !important;
    color: var(--farm-admin-primary) !important;
    border: 1px solid color-mix(
        in srgb,
        var(--farm-admin-primary) 20%,
        #ffffff 80%
    );
}

/* Subtle owner-theme hover/unread treatment */
.admin-shell.is-farm-themed .admin-notification-item:hover{
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 4%,
        #ffffff 96%
    ) !important;
}
.admin-shell.is-farm-themed .admin-notification-item.is-unread{
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 6%,
        #ffffff 94%
    ) !important;
}

/* Footer action: "เปิดศูนย์แจ้งเตือน" */
.admin-shell.is-farm-themed .admin-notification-popover-footer{
    color: var(--farm-admin-primary) !important;
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 4%,
        #ffffff 96%
    ) !important;
}
.admin-shell.is-farm-themed .admin-notification-popover-footer:hover{
    color: var(--farm-admin-dark) !important;
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 8%,
        #ffffff 92%
    ) !important;
}

/* Empty-state bell also follows owner theme. */
.admin-shell.is-farm-themed .admin-notification-empty .bi{
    color: var(--farm-admin-primary);
}

/* =========================================================
   V82.48 MEMBER / FARM ADMIN — CENTRAL ADMIN VISUAL PARITY
   ---------------------------------------------------------
   Goal:
   - Central Admin is the single back-office visual language.
   - Farm Admin / Member keeps only the farm-selected accent color.
   - Geometry, spacing, cards, panels, typography and neutral surfaces
     follow Central Admin.
   - Scope is strictly .admin-shell.is-farm-themed so Central Admin
     and public pages remain unchanged.
   ========================================================= */

/* ---------- 1. SHELL: SAME NEUTRAL SURFACES AS CENTRAL ADMIN ---------- */
.admin-shell.is-farm-themed {
    background: #f5f7f5;
    color: #24362b;
}

.admin-shell.is-farm-themed .admin-shell-sidebar {
    border-right-color: #e1e6e2;
    background: #fff;
}

.admin-shell.is-farm-themed .admin-shell-brand {
    border-bottom-color: #edf0ed;
    background: #fff;
}

.admin-shell.is-farm-themed .admin-shell-brand strong {
    color: var(--farm-admin-deep);
}

.admin-shell.is-farm-themed .admin-shell-topbar {
    border-bottom: 0 !important;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(10px);
}

/* Context stays neutral; theme is used only as an accent. */
.admin-shell.is-farm-themed .admin-shell-topbar-context-logo {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 18%, #e1e6e2 82%);
    background: color-mix(in srgb, var(--farm-admin-primary) 6%, #fff 94%);
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-topbar-context-copy small {
    color: color-mix(in srgb, var(--farm-admin-primary) 52%, #78857d 48%);
}

.admin-shell.is-farm-themed .admin-shell-topbar-context-copy strong,
.admin-shell.is-farm-themed .admin-shell-topbar-left strong {
    color: #24362b;
}

/* Sidebar follows Central Admin proportions; theme only marks selection. */
.admin-shell.is-farm-themed .admin-shell-nav-label {
    color: color-mix(in srgb, var(--farm-admin-primary) 54%, #8a958e 46%);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a {
    color: #55685b;
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a > i {
    color: #687a6f;
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a:hover,
.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active {
    background: color-mix(in srgb, var(--farm-admin-primary) 11%, #fff 89%);
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active {
    box-shadow: inset 3px 0 0 var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-nav-group > a:hover > i,
.admin-shell.is-farm-themed .admin-shell-nav-group > a.is-active > i {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .admin-shell-user {
    border-top-color: #edf0ed;
}

.admin-shell.is-farm-themed .admin-shell-user-avatar {
    background: color-mix(in srgb, var(--farm-admin-primary) 10%, #fff 90%);
    color: var(--farm-admin-dark);
}

/* ---------- 2. CONTENT RHYTHM: CENTRAL ADMIN AS SOURCE OF TRUTH ---------- */
.admin-shell.is-farm-themed .admin-shell-content {
    max-width: 1450px;
    margin: 0 auto;
    padding: 18px 28px 46px;
}

/* Farm dashboard/page heading = Central Admin heading language. */
.admin-shell.is-farm-themed .farm-admin-page-head,
.admin-shell.is-farm-themed .farm-profile-page-head {
    min-height: 92px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin: 0 0 14px;
    padding: 16px 0 13px;
    border-bottom: 1px solid #e5eae6;
}

.admin-shell.is-farm-themed .farm-admin-page-kicker {
    display: block;
    margin: 0 0 3px;
    color: var(--farm-admin-primary);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.35;
}

.admin-shell.is-farm-themed .farm-admin-page-head h1,
.admin-shell.is-farm-themed .farm-profile-page-head h1 {
    margin: 0;
    color: #214432;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
}

.admin-shell.is-farm-themed .farm-admin-page-head p,
.admin-shell.is-farm-themed .farm-profile-page-head p {
    max-width: 760px;
    margin: 4px 0 0;
    color: #7c8980;
    font-size: .9rem;
    line-height: 1.5;
}

.admin-shell.is-farm-themed .farm-admin-page-head p strong {
    color: #4c6754;
}

.admin-shell.is-farm-themed .farm-admin-page-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

/* ---------- 3. BUTTONS: SAME SHAPE / SIZE, FARM THEME ONLY FOR ACCENT ---------- */
.admin-shell.is-farm-themed .farm-admin-primary-action,
.admin-shell.is-farm-themed .farm-admin-secondary-action,
.admin-shell.is-farm-themed .central-primary-action,
.admin-shell.is-farm-themed .central-secondary-action {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: 8px;
    font: inherit;
    font-size: .86rem;
    font-weight: 700;
    text-decoration: none;
}

.admin-shell.is-farm-themed .farm-admin-primary-action,
.admin-shell.is-farm-themed .central-primary-action {
    border: 1px solid var(--farm-admin-primary);
    background: var(--farm-admin-primary);
    color: var(--farm-admin-on-primary);
}

.admin-shell.is-farm-themed .farm-admin-secondary-action,
.admin-shell.is-farm-themed .central-secondary-action {
    border: 1px solid #dce4de;
    background: #fff;
    color: #4d6654;
}

.admin-shell.is-farm-themed .farm-admin-secondary-action:hover,
.admin-shell.is-farm-themed .central-secondary-action:hover {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 30%, #dce4de 70%);
    background: color-mix(in srgb, var(--farm-admin-primary) 6%, #fff 94%);
    color: var(--farm-admin-dark);
}

/* ---------- 4. DASHBOARD STAT CARDS = CENTRAL STAT CARDS ---------- */
.admin-shell.is-farm-themed .farm-admin-stat-grid {
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.admin-shell.is-farm-themed .farm-admin-stat-card {
    min-height: 0;
    gap: 12px;
    padding: 16px;
    border: 1px solid #e1e7e2;
    border-radius: 13px;
    background: #fff;
    box-shadow: none;
}

.admin-shell.is-farm-themed .farm-admin-stat-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    font-size: 1.05rem;
}

.admin-shell.is-farm-themed .farm-admin-stat-card small {
    color: #7c8880;
    font-size: .84rem;
}

.admin-shell.is-farm-themed .farm-admin-stat-card strong {
    margin-top: 4px;
    color: #203b2d;
    font-size: 1.65rem;
    line-height: 1;
}

.admin-shell.is-farm-themed .farm-admin-stat-card span {
    margin-top: 5px;
    color: #89948c;
    font-size: .8rem;
}

/* Keep semantic icon colors, but profile/readiness follows owner theme. */
.admin-shell.is-farm-themed .farm-admin-stat-icon.profile {
    background: color-mix(in srgb, var(--farm-admin-primary) 10%, #fff 90%);
    color: var(--farm-admin-primary);
}

/* ---------- 5. DASHBOARD GRID / PANELS = CENTRAL DASHBOARD ---------- */
.admin-shell.is-farm-themed .farm-admin-dashboard-grid {
    grid-template-columns: minmax(0,1fr) 320px;
    gap: 12px;
    margin-bottom: 12px;
    align-items: start;
}

.admin-shell.is-farm-themed .farm-admin-dashboard-main,
.admin-shell.is-farm-themed .farm-admin-dashboard-side {
    gap: 12px;
}

.admin-shell.is-farm-themed .farm-admin-panel {
    margin-bottom: 0;
    border: 1px solid #e1e7e2;
    border-radius: 13px;
    background: #fff;
    box-shadow: none;
}

.admin-shell.is-farm-themed .farm-admin-panel-head {
    min-height: 54px;
    padding: 13px 15px;
    border-bottom: 1px solid #edf0ed;
}

.admin-shell.is-farm-themed .farm-admin-panel-head h2 {
    margin: 0;
    color: #294333;
    font-size: 1.02rem;
    font-weight: 700;
}

.admin-shell.is-farm-themed .farm-admin-panel-head p {
    margin: 2px 0 0;
    color: #89948c;
    font-size: .82rem;
}

.admin-shell.is-farm-themed .farm-admin-panel-head > a,
.admin-shell.is-farm-themed .farm-admin-panel-head > span {
    color: var(--farm-admin-dark);
    font-size: .84rem;
    font-weight: 700;
}

/* ---------- 6. TASKS / ORDERS / EMPTY STATES = CENTRAL ROW RHYTHM ---------- */
.admin-shell.is-farm-themed .farm-admin-task-row,
.admin-shell.is-farm-themed .farm-admin-order-row {
    padding: 13px 15px;
    border-bottom: 1px solid #eef1ee;
}

.admin-shell.is-farm-themed .farm-admin-task-row strong,
.admin-shell.is-farm-themed .farm-admin-order-row > div strong {
    color: #3d5645;
    font-size: .9rem;
}

.admin-shell.is-farm-themed .farm-admin-task-row span,
.admin-shell.is-farm-themed .farm-admin-order-row > div span {
    margin-top: 2px;
    color: #8c968e;
    font-size: .8rem;
}

.admin-shell.is-farm-themed .farm-admin-task-row > a {
    min-width: 74px;
    padding: 8px 10px;
    border: 1px solid #dfe6e0;
    border-radius: 8px;
    color: var(--farm-admin-dark);
    font-size: .82rem;
    font-weight: 700;
}

.admin-shell.is-farm-themed .farm-admin-task-row > a:hover {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 28%, #dfe6e0 72%);
    background: color-mix(in srgb, var(--farm-admin-primary) 5%, #fff 95%);
}

.admin-shell.is-farm-themed .farm-admin-order-status {
    padding: 5px 8px;
    background: #eef4ef;
    color: #4f6a57;
    font-size: .76rem;
}

.admin-shell.is-farm-themed .farm-admin-order-row > strong {
    color: #405d49;
    font-size: .88rem;
}

.admin-shell.is-farm-themed .farm-admin-panel-empty,
.admin-shell.is-farm-themed .farm-admin-task-empty {
    padding: 28px 16px;
    color: #8a958c;
    font-size: .9rem;
}

.admin-shell.is-farm-themed .farm-admin-task-empty i {
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .farm-admin-task-empty strong {
    margin-top: 5px;
    color: #496152;
    font-size: .9rem;
}

.admin-shell.is-farm-themed .farm-admin-task-empty span {
    margin-top: 2px;
    font-size: .8rem;
}

/* ---------- 7. PRODUCT METRICS / READINESS ---------- */
.admin-shell.is-farm-themed .farm-admin-product-metrics > div {
    min-height: 76px;
    padding: 12px 14px;
    border-color: #eef1ee;
}

.admin-shell.is-farm-themed .farm-admin-product-metrics span {
    color: #89938b;
    font-size: .8rem;
}

.admin-shell.is-farm-themed .farm-admin-product-metrics strong {
    margin-top: 5px;
    color: #284433;
    font-size: 1.25rem;
}

.admin-shell.is-farm-themed .farm-admin-progress {
    background: #edf0ee;
}

.admin-shell.is-farm-themed .farm-admin-progress > span {
    background: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .farm-admin-readiness > p,
.admin-shell.is-farm-themed .farm-admin-readiness li {
    color: #7f8b82;
    font-size: .86rem;
}

.admin-shell.is-farm-themed .farm-admin-readiness li.done i {
    background: color-mix(in srgb, var(--farm-admin-primary) 9%, #fff 91%);
    color: var(--farm-admin-primary);
}

/* ---------- 8. ALERTS: CENTRAL NEUTRAL SURFACE + THEME ACCENT ---------- */
.admin-shell.is-farm-themed .farm-admin-alert {
    margin-bottom: 12px;
    padding: 13px 15px;
    border: 1px solid color-mix(in srgb, var(--farm-admin-primary) 20%, #dfe6e0 80%);
    border-radius: 13px;
    background: color-mix(in srgb, var(--farm-admin-primary) 5%, #fff 95%);
}

.admin-shell.is-farm-themed .farm-admin-alert-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 10px;
    background: #fff;
    color: var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .farm-admin-alert strong {
    color: #365f45;
    font-size: .9rem;
}

.admin-shell.is-farm-themed .farm-admin-alert span,
.admin-shell.is-farm-themed .farm-admin-alert > a {
    font-size: .82rem;
}

.admin-shell.is-farm-themed .farm-admin-alert > a {
    color: var(--farm-admin-dark);
}

/* ---------- 9. FARM PROFILE / MEMBER FORMS = CENTRAL FORM LANGUAGE ---------- */
.admin-shell.is-farm-themed .farm-profile-card,
.admin-shell.is-farm-themed .farm-profile-section,
.admin-shell.is-farm-themed .central-form-card,
.admin-shell.is-farm-themed .farm-tool-media-card,
.admin-shell.is-farm-themed .farm-tool-video-list > article,
.admin-shell.is-farm-themed .farm-tool-stock-summary article {
    border-color: #e1e7e2;
    border-radius: 13px;
    background: #fff;
    box-shadow: none;
}

.admin-shell.is-farm-themed .farm-profile-card-head,
.admin-shell.is-farm-themed .farm-profile-section-head,
.admin-shell.is-farm-themed .central-form-card-head {
    border-bottom-color: #edf0ed;
}

.admin-shell.is-farm-themed input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.admin-shell.is-farm-themed select,
.admin-shell.is-farm-themed textarea {
    border-color: #dce4de;
    border-radius: 9px;
}

.admin-shell.is-farm-themed input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
.admin-shell.is-farm-themed select:focus,
.admin-shell.is-farm-themed textarea:focus {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 48%, #dce4de 52%);
    box-shadow: 0 0 0 3px rgba(var(--farm-admin-primary-rgb), .09);
    outline: 0;
}

/* Farm media / inventory tools should no longer look like a separate UI kit. */
.admin-shell.is-farm-themed .farm-tool-media-grid {
    gap: 12px;
}

.admin-shell.is-farm-themed .farm-tool-media-card,
.admin-shell.is-farm-themed .farm-tool-video-list > article {
    border-radius: 13px;
}

.admin-shell.is-farm-themed .farm-tool-stock-summary {
    gap: 12px;
    margin-bottom: 12px;
}

.admin-shell.is-farm-themed .farm-tool-stock-summary article {
    padding: 16px;
}

.admin-shell.is-farm-themed .farm-tool-stock-summary strong {
    color: #203b2d;
    font-size: 1.65rem;
}

.admin-shell.is-farm-themed .farm-tool-stock-summary span {
    color: #89948c;
    font-size: .84rem;
}

/* ---------- 10. TABLES / FILTERS USED BY MEMBER PAGES ---------- */
.admin-shell.is-farm-themed .central-filter-bar,
.admin-shell.is-farm-themed .central-panel,
.admin-shell.is-farm-themed .central-form-card {
    border-color: #e1e7e2;
    border-radius: 13px;
    background: #fff;
}

.admin-shell.is-farm-themed .central-table th {
    background: #fbfcfb;
    color: #718077;
}

.admin-shell.is-farm-themed .central-table td {
    color: #506255;
}

.admin-shell.is-farm-themed .central-table td > a,
.admin-shell.is-farm-themed .central-row-actions a:not(.central-danger-outline) {
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .central-status {
    background: color-mix(in srgb, var(--farm-admin-primary) 8%, #fff 92%);
    color: var(--farm-admin-dark);
}

/* ---------- 11. TOPBAR ACTIONS / NOTIFICATIONS KEEP OWNER THEME ---------- */
.admin-shell.is-farm-themed .admin-notification-bell > summary,
.admin-shell.is-farm-themed .admin-shell-preview,
.admin-shell.is-farm-themed .admin-shell-public-link,
.admin-shell.is-farm-themed .admin-shell-logout {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 22%, #dde5df 78%);
    background: #fff;
    color: var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .admin-notification-bell > summary:hover,
.admin-shell.is-farm-themed .admin-notification-bell[open] > summary,
.admin-shell.is-farm-themed .admin-shell-preview:hover,
.admin-shell.is-farm-themed .admin-shell-public-link:hover,
.admin-shell.is-farm-themed .admin-shell-logout:hover {
    border-color: var(--farm-admin-primary);
    background: color-mix(in srgb, var(--farm-admin-primary) 7%, #fff 93%);
    color: var(--farm-admin-deep);
    box-shadow: 0 4px 14px rgba(var(--farm-admin-primary-rgb), .08);
}

/* ---------- 12. RESPONSIVE: SAME CENTRAL ADMIN BREAKPOINT LANGUAGE ---------- */
@media (max-width: 1100px) {
    .admin-shell.is-farm-themed .farm-admin-stat-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .admin-shell.is-farm-themed .farm-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .admin-shell.is-farm-themed .farm-admin-page-head,
    .admin-shell.is-farm-themed .farm-profile-page-head {
        min-height: 0;
        align-items: start;
        padding-top: 12px;
    }
}

@media (max-width: 767px) {
    .admin-shell.is-farm-themed .admin-shell-content {
        padding: 14px 12px 30px;
    }

    .admin-shell.is-farm-themed .farm-admin-page-head,
    .admin-shell.is-farm-themed .farm-profile-page-head {
        display: grid;
        gap: 12px;
        padding: 12px 0 11px;
    }

    .admin-shell.is-farm-themed .farm-admin-page-head h1,
    .admin-shell.is-farm-themed .farm-profile-page-head h1 {
        font-size: 1.45rem;
    }

    .admin-shell.is-farm-themed .farm-admin-page-head p,
    .admin-shell.is-farm-themed .farm-profile-page-head p {
        font-size: .86rem;
    }

    .admin-shell.is-farm-themed .farm-admin-page-actions {
        width: 100%;
    }

    .admin-shell.is-farm-themed .farm-admin-page-actions > a,
    .admin-shell.is-farm-themed .farm-admin-page-actions > button {
        flex: 1 1 auto;
    }

    .admin-shell.is-farm-themed .farm-admin-stat-grid {
        grid-template-columns: 1fr;
    }

    .admin-shell.is-farm-themed .farm-admin-dashboard-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V82.49 MEMBER NOTIFICATION CENTER — RESTORE + OWNER THEME
   Restores V82.17 user-managed notification layout that was
   lost during later CSS consolidation, and applies farm theme
   accents to notification icons/actions for Farm Admin only.
   ========================================================= */

/* ---------- 1. Restore notification management layout ---------- */
.notification-manage-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  border-bottom:1px solid var(--line, #e5ebe6);
  background:#fbfcfb;
}

.notification-select-all{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.notification-select-all input,
.notification-row-check input{
  width:17px;
  height:17px;
  accent-color:var(--farm-admin-primary, var(--farm-theme, var(--primary, #2f6b4f)));
}

.notification-manage-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.notification-center-row-wrap{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 44px;
  align-items:stretch;
  border-bottom:1px solid var(--line, #e5ebe6);
  background:#fff;
}

.notification-center-row-wrap:last-child{
  border-bottom:0;
}

.notification-center-row-wrap.is-unread{
  background:color-mix(
    in srgb,
    var(--farm-admin-soft, var(--farm-theme-soft, #edf6f0)) 55%,
    #fff
  );
}

.notification-row-check{
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.notification-center-row-wrap .notification-center-row{
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  min-width:0;
  box-shadow:none;
}

.notification-center-row-wrap .notification-center-row:hover{
  transform:none;
  box-shadow:none;
}

.notification-row-delete{
  align-self:center;
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #f0d8d5;
  border-radius:10px;
  background:#fff7f6;
  color:#c52b1e;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.notification-row-delete:hover{
  background:#fde9e7;
  border-color:#e7b9b4;
  transform:translateY(-1px);
}

.notification-delete-all{
  min-height:40px;
  border-color:#efcbc7 !important;
  background:#fff7f6 !important;
  color:#b42318 !important;
}

.notification-delete-all:hover{
  border-color:#e3aaa4 !important;
  background:#fdebea !important;
}

/* ---------- 2. Farm Admin notification center follows owner theme ---------- */
.admin-shell.is-farm-themed .notification-center-panel .central-panel-head.notification-center-head{
  border-color:color-mix(in srgb,var(--farm-admin-primary) 18%,#dfe8e2 82%);
}

.admin-shell.is-farm-themed .notification-center-head p strong{
  color:var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .notification-center-row-icon{
  background:color-mix(in srgb,var(--farm-admin-primary) 9%,#ffffff 91%);
  border-color:color-mix(in srgb,var(--farm-admin-primary) 18%,#ffffff 82%);
  color:var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .notification-center-row.is-unread .notification-center-row-icon,
.admin-shell.is-farm-themed .notification-center-row-wrap.is-unread .notification-center-row-icon{
  background:color-mix(in srgb,var(--farm-admin-primary) 14%,#ffffff 86%);
  border-color:color-mix(in srgb,var(--farm-admin-primary) 26%,#ffffff 74%);
  color:var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .notification-center-title-line em{
  background:var(--farm-admin-primary);
  color:#fff;
}

.admin-shell.is-farm-themed .notification-center-open{
  color:var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .notification-center-row:hover .notification-center-open{
  color:var(--farm-admin-dark);
}

.admin-shell.is-farm-themed .notification-center-row-wrap.is-unread{
  box-shadow:inset 3px 0 0 var(--farm-admin-primary);
}

.admin-shell.is-farm-themed .notification-center-row-wrap.is-unread .notification-center-row{
  background:linear-gradient(
    90deg,
    color-mix(in srgb,var(--farm-admin-primary) 5%,#ffffff 95%) 0,
    #ffffff 32%
  );
}

/* Keep destructive actions red by meaning, not farm theme. */
.admin-shell.is-farm-themed .notification-row-delete,
.admin-shell.is-farm-themed .notification-delete-all{
  color:#b42318 !important;
}

/* ---------- 3. Responsive ---------- */
@media (max-width:720px){
  .notification-manage-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .notification-manage-actions{
    width:100%;
  }

  .notification-manage-actions button{
    flex:1 1 auto;
  }

  .notification-center-row-wrap{
    grid-template-columns:34px minmax(0,1fr) 40px;
  }
}


/* =========================================================
   V82.53 FARM ADMIN DASHBOARD — UNIFIED THEME STAT ICONS
   Admin geometry stays unchanged; only the four dashboard
   stat icon tiles follow the farm's selected owner theme.
   ========================================================= */
.admin-shell.is-farm-themed .farm-admin-stat-icon,
.admin-shell.is-farm-themed .farm-admin-stat-icon.order,
.admin-shell.is-farm-themed .farm-admin-stat-icon.product,
.admin-shell.is-farm-themed .farm-admin-stat-icon.stock,
.admin-shell.is-farm-themed .farm-admin-stat-icon.profile {
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 10%,
        #ffffff 90%
    ) !important;
    color: var(--farm-admin-primary) !important;
    border: 1px solid color-mix(
        in srgb,
        var(--farm-admin-primary) 16%,
        #ffffff 84%
    );
    box-shadow: none;
}

/* Slightly stronger icon contrast while keeping the tile soft. */
.admin-shell.is-farm-themed .farm-admin-stat-icon svg,
.admin-shell.is-farm-themed .farm-admin-stat-icon i {
    color: currentColor;
    stroke: currentColor;
}

/* Hover remains subtle and consistent with Central Admin. */
.admin-shell.is-farm-themed .farm-admin-stat-card:hover .farm-admin-stat-icon {
    background: color-mix(
        in srgb,
        var(--farm-admin-primary) 14%,
        #ffffff 86%
    ) !important;
    border-color: color-mix(
        in srgb,
        var(--farm-admin-primary) 22%,
        #ffffff 78%
    );
}

/* =========================================================
   V85.3.1 — CENTRAL ALBUM CHECKBOX FIX
   Scoped only to central album option controls.
   ========================================================= */
.central-album-option{
    display:grid;
    align-content:start;
    gap:6px;
}

.central-form-grid .central-album-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    min-height:54px;
    padding:10px 12px;
    border:1px solid #dfe7e1;
    border-radius:10px;
    background:#fbfcfb;
    cursor:pointer;
}

.central-form-grid .central-album-check:hover{
    border-color:#cbdacf;
    background:#f8fbf9;
}

.central-form-grid .central-album-check input[type="checkbox"]{
    appearance:auto;
    -webkit-appearance:checkbox;
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
    min-height:17px !important;
    max-width:17px !important;
    padding:0 !important;
    margin:2px 0 0 !important;
    border:0;
    border-radius:3px;
    box-shadow:none;
    flex:0 0 17px;
    cursor:pointer;
}

.central-form-grid .central-album-check>span{
    display:grid;
    gap:2px;
    min-width:0;
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
}

.central-form-grid .central-album-check strong{
    color:#405d49;
    font-size:.88rem;
    line-height:1.45;
}

.central-form-grid .central-album-check small{
    color:#849087;
    font-size:.76rem;
    font-weight:400;
    line-height:1.5;
}

@media(max-width:767px){
    .central-form-grid .central-album-check{
        min-height:auto;
    }
}

/* =========================================================
   V84.3 — STAFF GOOGLE ACCOUNT LINKING
   ========================================================= */

.staff-google-divider{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:18px 0 14px;
    color:#98a39c;
    font-size:10px;
}

.staff-google-divider::before,
.staff-google-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:#e4e9e6;
}

.staff-google-divider span{
    padding:0 12px;
}

.staff-google-login-button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:46px;
    padding:10px 16px;
    border:1px solid #d8dfda;
    border-radius:11px;
    background:#fff;
    color:#30473a;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 2px 7px rgba(31,58,40,.035);
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}

.staff-google-login-button:hover{
    color:#294132;
    border-color:#bdccc2;
    box-shadow:0 6px 15px rgba(31,58,40,.07);
    transform:translateY(-1px);
}

.google-g-mark{
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border:1px solid #dde3df;
    border-radius:50%;
    background:#fff;
    color:#4285f4;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:800;
}

.staff-google-login-note{
    display:block;
    margin:8px auto 0;
    color:#8b9690;
    font-size:9px;
    line-height:1.45;
    text-align:center;
}

.auth-alert-success{
    border-color:#cce1d3;
    background:#f1f8f3;
    color:#356246;
}

.account-security-page{
    min-height:70vh;
    background:#f7f9f7;
}

.account-security-container{
    max-width:980px;
}

.account-security-head{
    max-width:720px;
    margin:0 auto 24px;
    text-align:center;
}

.account-security-head h1{
    margin:7px 0 6px;
    color:#284334;
    font-size:clamp(27px,3.4vw,39px);
}

.account-security-head p{
    margin:0;
    color:#76837b;
    font-size:11px;
    line-height:1.7;
}

.account-security-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
}

.account-security-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:20px;
    border:1px solid #dfe6e1;
    border-radius:16px;
    background:#fff;
    box-shadow:0 4px 18px rgba(36,67,47,.035);
}

.account-security-card.is-google-linked{
    border-color:#cddfd3;
}

.account-security-card-head{
    display:flex;
    align-items:center;
    gap:11px;
    padding-bottom:14px;
    margin-bottom:14px;
    border-bottom:1px solid #edf1ee;
}

.account-security-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#edf5ef;
    color:#2d6a4f;
    font-size:17px;
    font-weight:800;
}

.account-security-icon.google-icon{
    border:1px solid #e0e5e2;
    background:#fff;
    color:#4285f4;
    font-family:Arial,sans-serif;
}

.account-security-card-head h2{
    margin:0;
    color:#304b3b;
    font-size:15px;
}

.account-security-card-head p{
    margin:2px 0 0;
    color:#8a958f;
    font-size:9.5px;
}

.account-security-info{
    display:grid;
    gap:0;
    margin:0 0 18px;
}

.account-security-info>div{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid #f0f3f1;
}

.account-security-info dt{
    color:#89948d;
    font-size:10px;
    font-weight:500;
}

.account-security-info dd{
    min-width:0;
    margin:0;
    color:#31493b;
    font-size:11px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.account-security-secondary,
.account-security-danger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:9px 14px;
    border-radius:10px;
    font-size:10px;
    font-weight:700;
    text-decoration:none;
}

.account-security-secondary{
    margin-top:auto;
    border:1px solid #d5dfd8;
    background:#f9fbf9;
    color:#365445;
}

.account-security-danger{
    border:1px solid #ead7d7;
    background:#fffafa;
    color:#a44e4e;
}

.google-linked-account{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;
    border:1px solid #dbe7df;
    border-radius:12px;
    background:#f8fbf8;
}

.google-linked-account img,
.google-linked-avatar{
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:50%;
}

.google-linked-account img{
    object-fit:cover;
}

.google-linked-avatar{
    display:grid;
    place-items:center;
    background:#e9f1eb;
    color:#47715a;
}

.google-linked-account>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.google-linked-status{
    color:#3f7554;
    font-size:9px;
    font-weight:700;
}

.google-linked-account strong{
    overflow:hidden;
    color:#30483a;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.google-linked-account small{
    color:#8a958f;
    font-size:9px;
}

.account-security-note{
    margin:13px 0 15px;
    color:#78857d;
    font-size:9.5px;
    line-height:1.6;
}

.account-security-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
}

.account-security-actions form{
    margin:0;
}

.google-connect-explainer{
    display:grid;
    gap:9px;
    margin-bottom:18px;
}

.google-connect-explainer>div{
    display:flex;
    align-items:center;
    gap:8px;
    color:#66766d;
    font-size:10px;
}

.google-connect-explainer i{
    color:#4c775d;
    font-size:15px;
}

.google-connect-button{
    width:100%;
    min-height:44px;
}

.account-security-config-note{
    display:block;
    margin-top:8px;
    color:#9a8571;
    font-size:9px;
    text-align:center;
}

.account-security-footnote{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-top:16px;
    padding:13px 15px;
    border:1px solid #e0e7e2;
    border-radius:13px;
    background:#fbfcfb;
}

.account-security-footnote i{
    color:#3f7353;
}

.account-security-footnote p{
    margin:0;
    color:#7c8880;
    font-size:9.5px;
    line-height:1.6;
}

@media(max-width:760px){
    .account-security-head{
        text-align:left;
    }

    .account-security-grid{
        grid-template-columns:1fr;
    }

    .account-security-actions{
        flex-direction:column;
    }

    .account-security-actions form,
    .account-security-actions .btn{
        width:100%;
    }
}

/* =========================================================
   V85.4 — STAFF USERNAME SELF-SERVICE & ACCOUNT IDENTITY
   Scoped to /account/security.
   ========================================================= */
.account-security-page .account-identity-current{
    display:inline-flex;
    max-width:100%;
    padding:4px 8px;
    border-radius:7px;
    background:#f3f7f4;
    color:#2c5f45;
    font-family:inherit;
    font-size:13px;
    font-weight:800;
    overflow-wrap:anywhere;
}

.account-security-page .account-identity-migration-warning{
    margin:12px 0 0;
}

.account-security-page .account-identity-change{
    margin-top:14px;
    border:1px solid #dce6df;
    border-radius:13px;
    background:#fbfcfb;
    overflow:hidden;
}

.account-security-page .account-identity-change>summary{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    color:#315844;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    list-style:none;
    user-select:none;
}

.account-security-page .account-identity-change>summary::-webkit-details-marker{
    display:none;
}

.account-security-page .account-identity-change>summary>span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.account-security-page .account-identity-chevron{
    font-size:12px;
    transition:transform .18s ease;
}

.account-security-page .account-identity-change[open] .account-identity-chevron{
    transform:rotate(180deg);
}

.account-security-page .account-identity-change-body{
    display:grid;
    gap:12px;
    padding:13px;
    border-top:1px solid #e6ece8;
    background:#fff;
}

.account-security-page .account-identity-guidance{
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:10px 11px;
    border-radius:10px;
    background:#f3f8f4;
    color:#687970;
}

.account-security-page .account-identity-guidance i{
    margin-top:2px;
    color:#3d7654;
}

.account-security-page .account-identity-guidance p{
    margin:0;
    font-size:9px;
    line-height:1.65;
}

.account-security-page .account-identity-form{
    display:grid;
    gap:10px;
}

.account-security-page .account-identity-form label{
    display:grid;
    gap:5px;
    margin:0;
}

.account-security-page .account-identity-form label>span{
    color:#3b5547;
    font-size:10px;
    font-weight:800;
}

.account-security-page .account-identity-form input{
    box-sizing:border-box;
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #d4ded7;
    border-radius:9px;
    background:#fff;
    color:#294033;
    font:inherit;
    font-size:11px;
    outline:0;
}

.account-security-page .account-identity-form input:focus{
    border-color:#76a084;
    box-shadow:0 0 0 3px rgba(45,106,79,.09);
}

.account-security-page .account-identity-form small{
    color:#89958e;
    font-size:8.5px;
    line-height:1.5;
}

.account-security-page .account-identity-submit{
    width:100%;
    min-height:41px;
    margin-top:2px;
}

.account-security-page .account-identity-history{
    display:grid;
    gap:6px;
    padding-top:10px;
    border-top:1px solid #edf1ee;
}

.account-security-page .account-identity-history>strong{
    display:flex;
    align-items:center;
    gap:6px;
    color:#53685b;
    font-size:9px;
}

.account-security-page .account-identity-history>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    padding:7px 8px;
    border-radius:8px;
    background:#f8faf8;
    color:#66766d;
    font-size:8.5px;
}

.account-security-page .account-identity-history span,
.account-security-page .account-identity-history b{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.account-security-page .account-identity-history b{
    color:#315e45;
}

.account-security-page .account-identity-history time{
    color:#8a958f;
    white-space:nowrap;
}

.account-security-page .account-password-action{
    margin-top:10px;
}

@media(max-width:560px){
    .account-security-page .account-identity-history>div{
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    }
    .account-security-page .account-identity-history time{
        grid-column:1/-1;
    }
}

/* =========================================================
   V85.6 — HOMEPAGE STORY INTRO + MOBILE HERO SIMPLIFICATION
   ========================================================= */

.home-story-intro{
    padding:46px 0 24px;
    background:#fff;
}

.home-story-shell{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
    align-items:stretch;
    gap:34px;
    padding:38px 40px;
    border:1px solid rgba(45,106,79,.11);
    border-radius:26px;
    background:linear-gradient(135deg,rgba(250,248,238,.88) 0%,rgba(245,249,243,.94) 100%);
    overflow:hidden;
}

.home-story-shell.no-story-images{
    grid-template-columns:1fr;
}

.home-story-copy{
    min-width:0;
    align-self:center;
}

.home-story-copy .eyebrow{
    margin-bottom:12px;
}

.home-story-copy h2{
    max-width:820px;
    margin:0 0 14px;
    color:#214f3a;
    font-size:clamp(30px,3vw,44px);
    font-weight:800;
    line-height:1.28;
}

.home-story-copy p{
    max-width:840px;
    margin:0;
    color:#66766d;
    font-size:15.5px;
    line-height:1.85;
}

.home-story-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:18px;
    color:#2f6b4f;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.home-story-link:hover{color:#214f3a}
.home-story-link i{transition:transform .18s ease}
.home-story-link:hover i{transform:translateX(3px)}

.home-story-slider{
    position:relative;
    min-width:0;
    min-height:330px;
    border-radius:20px;
    overflow:hidden;
    background:#edf2ee;
    box-shadow:inset 0 0 0 1px rgba(45,106,79,.08);
}

.home-story-slider-viewport,
.home-story-slider-track,
.home-story-slide{
    width:100%;
    height:100%;
}

.home-story-slider-viewport{overflow:hidden}

.home-story-slider-track{
    display:flex;
    transition:transform .38s ease;
    will-change:transform;
}

.home-story-slide{
    flex:0 0 100%;
    margin:0;
}

.home-story-slide img{
    display:block;
    width:100%;
    height:100%;
    min-height:330px;
    object-fit:cover;
}

.home-story-slider-nav{
    position:absolute;
    top:50%;
    z-index:2;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(255,255,255,.70);
    border-radius:50%;
    background:rgba(255,255,255,.88);
    color:#315641;
    font-size:20px;
    box-shadow:0 6px 20px rgba(28,61,43,.12);
    transform:translateY(-50%);
    cursor:pointer;
}

.home-story-slider-nav.is-prev{left:14px}
.home-story-slider-nav.is-next{right:14px}
.home-story-slider-nav:hover{background:#fff}

.home-story-slider-dots{
    position:absolute;
    left:50%;
    bottom:14px;
    z-index:2;
    display:flex;
    gap:6px;
    transform:translateX(-50%);
}

.home-story-slider-dots span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:rgba(255,255,255,.62);
    box-shadow:0 0 0 1px rgba(0,0,0,.06);
}

.home-story-slider-dots span.is-active{
    width:18px;
    border-radius:999px;
    background:#fff;
}

@media(max-width:991px){
    .home-story-shell{
        grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);
        gap:24px;
        padding:30px;
    }

    .home-story-slider,
    .home-story-slide img{
        min-height:290px;
    }
}

@media(max-width:767px){
    /* Production mobile: skip the visual hero and enter site content immediately. */
    .hero-immersive{display:none !important}

    .home-story-intro{
        padding:18px 0 12px;
    }

    .home-story-shell{
        grid-template-columns:1fr;
        gap:18px;
        padding:20px;
        border-radius:18px;
    }

    .home-story-copy .eyebrow{margin-bottom:8px}

    .home-story-copy h2{
        margin-bottom:9px;
        font-size:25px;
        line-height:1.34;
    }

    .home-story-copy p{
        font-size:13.5px;
        line-height:1.72;
    }

    .home-story-link{
        margin-top:12px;
        font-size:13px;
    }

    .home-story-slider{
        min-height:220px;
        border-radius:15px;
    }

    .home-story-slide img{
        min-height:220px;
        max-height:280px;
    }

    .home-story-slider-nav{
        width:36px;
        height:36px;
        font-size:17px;
    }

    .home-story-slider-nav.is-prev{left:10px}
    .home-story-slider-nav.is-next{right:10px}
    .home-story-slider-dots{bottom:10px}
}

/* =========================================================
   V86.0.31 — STORY SLIDER MOBILE + RESPONSIVE IMAGE FRAME
   ========================================================= */
.home-story-slider{
    height:clamp(330px,28vw,420px);
    min-height:0;
}

.home-story-slider-viewport,
.home-story-slider-track{
    position:relative;
    width:100%;
    height:100%;
}

.home-story-slider-track{
    display:block;
    transform:none;
}

.home-story-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-width:0;
    margin:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .32s ease, visibility .32s ease;
}

.home-story-slide.is-active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.home-story-slide img{
    display:block;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    max-width:100%;
    max-height:100%;
    object-fit:cover;
    object-position:center;
}

@media(max-width:991px){
    .home-story-slider{
        height:300px;
        min-height:0;
    }
}

@media(max-width:767px){
    .home-story-slider{
        width:100%;
        height:auto;
        min-height:0;
        aspect-ratio:16 / 10;
        border-radius:15px;
        touch-action:pan-y;
    }

    .home-story-slide img{
        width:100%;
        height:100%;
        min-height:0;
        max-height:none;
        object-fit:cover;
    }
}

@media(max-width:420px){
    .home-story-slider{
        aspect-ratio:4 / 3;
    }
}


/* V86.0.33 — Product CMS limits by device */
@media (min-width: 768px) {
  .home-products-section .cms-product-hide-web {
    display:none !important;
  }
}
@media (max-width: 767px) {
  .home-products-section .cms-product-hide-mobile {
    display:none !important;
  }
}

/* =========================================================
   V86.0.35 — Product count = cards visible across viewport
   The CMS value now controls both how many items render and
   how many cards fill one row/screen on that device.
   ========================================================= */

/* Recommended products — Desktop / Tablet */
@media (min-width:768px){
  .recommended-product-shell[data-cols-web="1"] .recommended-product-card{flex-basis:100%;aspect-ratio:16 / 7}
  .recommended-product-shell[data-cols-web="2"] .recommended-product-card{flex-basis:calc((100% - 10px)/2);aspect-ratio:4 / 3}
  .recommended-product-shell[data-cols-web="3"] .recommended-product-card{flex-basis:calc((100% - 20px)/3);aspect-ratio:4 / 5}
  .recommended-product-shell[data-cols-web="4"] .recommended-product-card{flex-basis:calc((100% - 30px)/4);aspect-ratio:3 / 4}
  .recommended-product-shell[data-cols-web="5"] .recommended-product-card{flex-basis:calc((100% - 40px)/5);aspect-ratio:.68 / 1}
  .recommended-product-shell[data-cols-web="6"] .recommended-product-card{flex-basis:calc((100% - 50px)/6);aspect-ratio:.64 / 1}

  .all-products-grid[data-cols-web="1"]{grid-template-columns:1fr}
  .all-products-grid[data-cols-web="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .all-products-grid[data-cols-web="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .all-products-grid[data-cols-web="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
  .all-products-grid[data-cols-web="5"]{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .all-products-grid[data-cols-web="6"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}

  .all-products-grid[data-cols-web="1"] .commerce-product-card{
    display:grid;
    grid-template-columns:minmax(300px,38%) 1fr;
    max-height:330px;
  }
  .all-products-grid[data-cols-web="1"] .commerce-product-image,
  .all-products-grid[data-cols-web="1"] .commerce-product-image img{height:100%}
  .all-products-grid[data-cols-web="1"] .commerce-product-image img{aspect-ratio:auto}

  .all-products-grid[data-cols-web="5"] .commerce-product-body,
  .all-products-grid[data-cols-web="6"] .commerce-product-body{padding:10px}
  .all-products-grid[data-cols-web="5"] .commerce-product-body h3{font-size:13px;min-height:36px}
  .all-products-grid[data-cols-web="6"] .commerce-product-body h3{font-size:12px;min-height:34px}
  .all-products-grid[data-cols-web="6"] .commerce-category,
  .all-products-grid[data-cols-web="6"] .commerce-origin{font-size:8px}
  .all-products-grid[data-cols-web="6"] .commerce-product-footer strong{font-size:11px}
}

/* Recommended + All products — Mobile */
@media (max-width:767px){
  .recommended-product-track{gap:7px}

  .recommended-product-shell[data-cols-mobile="1"] .recommended-product-card{
    flex-basis:100%!important;
    aspect-ratio:16 / 10;
    border-radius:12px;
  }
  .recommended-product-shell[data-cols-mobile="2"] .recommended-product-card{
    flex-basis:calc((100% - 7px)/2)!important;
    aspect-ratio:4 / 5;
    border-radius:10px;
  }
  .recommended-product-shell[data-cols-mobile="3"] .recommended-product-card{
    flex-basis:calc((100% - 14px)/3)!important;
    aspect-ratio:.72 / 1;
  }
  .recommended-product-shell[data-cols-mobile="4"] .recommended-product-card{
    flex-basis:calc((100% - 21px)/4)!important;
    aspect-ratio:.64 / 1;
  }

  .recommended-product-shell[data-cols-mobile="1"] .product-market-content{padding:70px 18px 16px}
  .recommended-product-shell[data-cols-mobile="1"] .product-market-category{font-size:10px}
  .recommended-product-shell[data-cols-mobile="1"] .product-market-content h3{font-size:18px;line-height:1.25}
  .recommended-product-shell[data-cols-mobile="1"] .product-market-origin{display:block;font-size:10px}
  .recommended-product-shell[data-cols-mobile="1"] .product-market-action{font-size:10px}

  .recommended-product-shell[data-cols-mobile="2"] .product-market-content{padding:44px 10px 10px}
  .recommended-product-shell[data-cols-mobile="2"] .product-market-category{font-size:7.5px}
  .recommended-product-shell[data-cols-mobile="2"] .product-market-content h3{font-size:12px}
  .recommended-product-shell[data-cols-mobile="2"] .product-market-origin{display:block;font-size:7.5px}
  .recommended-product-shell[data-cols-mobile="2"] .product-market-action{font-size:7px}

  .recommended-product-shell[data-cols-mobile="3"] .product-market-content{padding:34px 7px 7px}
  .recommended-product-shell[data-cols-mobile="3"] .product-market-content h3{font-size:9.5px}
  .recommended-product-shell[data-cols-mobile="3"] .product-market-category{font-size:6.5px}
  .recommended-product-shell[data-cols-mobile="3"] .product-market-origin{display:none}
  .recommended-product-shell[data-cols-mobile="3"] .product-market-action{font-size:6.5px}

  .recommended-product-shell[data-cols-mobile="4"] .product-market-content{padding:28px 5px 5px}
  .recommended-product-shell[data-cols-mobile="4"] .product-market-content h3{font-size:8px}
  .recommended-product-shell[data-cols-mobile="4"] .product-market-category{font-size:5.8px}
  .recommended-product-shell[data-cols-mobile="4"] .product-market-origin{display:none}
  .recommended-product-shell[data-cols-mobile="4"] .product-market-action{font-size:5.8px}

  .all-products-grid[data-cols-mobile="1"]{grid-template-columns:1fr;gap:10px}
  .all-products-grid[data-cols-mobile="2"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .all-products-grid[data-cols-mobile="3"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .all-products-grid[data-cols-mobile="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}

  .all-products-grid[data-cols-mobile="1"] .commerce-product-card{
    display:grid;
    grid-template-columns:minmax(125px,42%) 1fr;
    min-height:150px;
  }
  .all-products-grid[data-cols-mobile="1"] .commerce-product-image,
  .all-products-grid[data-cols-mobile="1"] .commerce-product-image img{height:100%}
  .all-products-grid[data-cols-mobile="1"] .commerce-product-image img{aspect-ratio:auto}
  .all-products-grid[data-cols-mobile="1"] .commerce-product-body{padding:14px}
  .all-products-grid[data-cols-mobile="1"] .commerce-product-body h3{font-size:15px;min-height:0}
  .all-products-grid[data-cols-mobile="1"] .commerce-category{font-size:9px}
  .all-products-grid[data-cols-mobile="1"] .commerce-origin{font-size:9px}
  .all-products-grid[data-cols-mobile="1"] .commerce-product-footer strong{font-size:13px}

  .all-products-grid[data-cols-mobile="3"] .commerce-product-card,
  .all-products-grid[data-cols-mobile="4"] .commerce-product-card{border-radius:8px}
  .all-products-grid[data-cols-mobile="3"] .commerce-product-body{padding:7px}
  .all-products-grid[data-cols-mobile="4"] .commerce-product-body{padding:5px}
  .all-products-grid[data-cols-mobile="3"] .commerce-category,
  .all-products-grid[data-cols-mobile="4"] .commerce-category{display:none}
  .all-products-grid[data-cols-mobile="3"] .commerce-product-body h3{
    min-height:28px;
    margin-bottom:2px;
    font-size:9.5px;
    line-height:1.25;
  }
  .all-products-grid[data-cols-mobile="4"] .commerce-product-body h3{
    min-height:24px;
    margin-bottom:2px;
    font-size:8px;
    line-height:1.2;
  }
  .all-products-grid[data-cols-mobile="3"] .commerce-origin,
  .all-products-grid[data-cols-mobile="4"] .commerce-origin{display:none}
  .all-products-grid[data-cols-mobile="3"] .commerce-product-footer strong{font-size:9px}
  .all-products-grid[data-cols-mobile="4"] .commerce-product-footer strong{font-size:8px}
  .all-products-grid[data-cols-mobile="3"] .commerce-product-footer>a{width:22px;height:22px;flex-basis:22px;font-size:9px}
  .all-products-grid[data-cols-mobile="4"] .commerce-product-footer>a{display:none}
  .all-products-grid[data-cols-mobile="3"] .commerce-product-badge{font-size:6px;padding:3px 4px;top:4px;left:4px}
  .all-products-grid[data-cols-mobile="4"] .commerce-product-badge{font-size:5.5px;padding:2px 3px;top:3px;left:3px}
}

/* V86.0.36 — Homepage farms: people-first farm cards */
.home-farms-showcase .farm-showcase-heading{margin-bottom:24px}
.home-farms-showcase-grid{
  display:grid;
  grid-template-columns:repeat(var(--farm-cols-web,4),minmax(0,1fr));
  gap:18px;
}
.home-farm-person-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(44,93,65,.12);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(28,73,50,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.home-farm-person-card:hover{
  transform:translateY(-3px);
  border-color:rgba(44,93,65,.22);
  box-shadow:0 14px 34px rgba(28,73,50,.11);
}
.home-farm-person-media{
  position:relative;
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#edf3ef;
}
.home-farm-person-media>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}
.home-farm-person-card:hover .home-farm-person-media>img{transform:scale(1.035)}
.home-farm-person-logo{
  position:absolute;
  right:14px;
  bottom:14px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:3px solid #fff;
  border-radius:50%;
  background:#fff;
  color:var(--green-900);
  font-size:13px;
  font-weight:800;
  box-shadow:0 5px 16px rgba(0,0,0,.14);
}
.home-farm-person-logo img{width:100%;height:100%;object-fit:cover}
.home-farm-person-body{padding:17px 17px 18px}
.home-farm-person-title-row h3{
  margin:0;
  color:var(--green-900);
  font-size:19px;
  line-height:1.35;
  font-weight:800;
}
.home-farm-person-owner{
  display:flex;
  align-items:center;
  gap:6px;
  margin:8px 0 0;
  color:#527061;
  font-size:13px;
  line-height:1.4;
}
.home-farm-person-owner i{color:var(--green-600)}
.home-farm-person-tagline{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:42px;
  margin:11px 0 0;
  color:var(--text-700);
  font-size:13.5px;
  line-height:1.55;
}
.home-farm-person-location{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin-top:12px;
  color:#718078;
  font-size:12.5px;
  line-height:1.45;
}
.home-farm-person-location i{margin-top:1px;color:#7b9b87}
.home-farm-person-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  color:var(--green-700);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.home-farm-person-link i{transition:transform .2s ease}
.home-farm-person-link:hover i{transform:translateX(3px)}
.home-farm-view-all-wrap{margin-top:24px}
@media(min-width:769px){.cms-farm-hide-web{display:none!important}}
@media(max-width:992px) and (min-width:769px){
  .home-farms-showcase-grid{grid-template-columns:repeat(var(--farm-cols-tablet,2),minmax(0,1fr))}
}
@media(max-width:768px){
  .home-farms-showcase .farm-showcase-heading{margin-bottom:18px}
  .home-farms-showcase-grid{
    grid-template-columns:repeat(var(--farm-cols-mobile,1),minmax(0,1fr));
    gap:12px;
  }
  .cms-farm-hide-mobile{display:none!important}
  .home-farm-person-card{border-radius:16px}
  .home-farm-person-body{padding:14px}
  .home-farm-person-title-row h3{font-size:17px}
  .home-farm-person-logo{right:10px;bottom:10px;width:44px;height:44px}
  .home-farm-person-tagline{font-size:12.5px;min-height:39px;margin-top:8px}
  .home-farm-person-owner,.home-farm-person-location,.home-farm-person-link{font-size:11.5px}
  .home-farm-person-link{margin-top:11px}
  .home-farm-view-all-wrap{margin-top:18px}
}
@media(max-width:768px){
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-media{aspect-ratio:1/1}
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-body{padding:10px}
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-title-row h3{font-size:14px}
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-owner,
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-location,
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-link{font-size:10.5px}
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-tagline{font-size:11px;line-height:1.4;min-height:31px;-webkit-line-clamp:2}
  .home-farms-showcase-grid[style*="--farm-cols-mobile:2"] .home-farm-person-logo{width:36px;height:36px;border-width:2px}
}

/* =========================================================
   V86.0.37 — Unified homepage section actions
   ปุ่มนำทางท้าย Section ใช้รูปแบบเดียวกันทั้งหน้าแรก
   ========================================================= */
.home-section-action-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:24px;
}
.home-section-action-wrap .home-section-action-button,
.home-section-action-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:9px 16px;
  border:1px solid rgba(47,107,79,.22);
  border-radius:999px;
  background:#fff;
  color:#2f6b4f;
  box-shadow:0 5px 14px rgba(38,74,55,.05);
  font-size:12.5px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.home-section-action-wrap .home-section-action-button:hover,
.home-section-action-button:hover{
  border-color:rgba(47,107,79,.38);
  background:#f5faf7;
  color:#214f3a;
  box-shadow:0 7px 18px rgba(38,74,55,.08);
  transform:translateY(-1px);
}
.home-section-action-button i{font-size:.95em;transition:transform .18s ease}
.home-section-action-button:hover i{transform:translateX(3px)}

/* Story: ปุ่มอยู่ท้ายข้อความของคอลัมน์ซ้าย แต่ใช้หน้าตามาตรฐานเดียวกัน */
.home-story-copy .home-section-action-button{
  margin-top:18px;
}

/* Product/Farm legacy wrappers — คงชื่อ class เดิมไว้เพื่อไม่กระทบโครงสร้าง */
.product-all-footer-link,
.farm-view-all-wrap,
.home-farm-view-all-wrap{
  margin-top:24px;
}
.product-all-footer-link a,
.farm-view-all-btn{
  min-height:40px;
  padding:9px 16px;
  color:#2f6b4f;
  font-size:12.5px;
  font-weight:800;
}

/* Knowledge + News: CTA อยู่ท้ายแต่ละโมดูลอย่างสม่ำเสมอ */
.content-module-action{
  justify-content:flex-start;
  margin-top:18px;
}

@media(max-width:767px){
  .home-section-action-wrap{
    margin-top:18px;
  }
  .home-section-action-wrap .home-section-action-button,
  .home-section-action-button{
    min-height:36px;
    padding:8px 13px;
    gap:6px;
    font-size:11px;
  }
  .home-story-copy .home-section-action-button{margin-top:15px}
  .product-all-footer-link,
  .farm-view-all-wrap,
  .home-farm-view-all-wrap{margin-top:18px}
  .content-module-action{justify-content:flex-start;margin-top:14px}
}

/* =========================================================
   V86.0.41 — Knowledge + News independent home controls
   ========================================================= */
.home-content-section .content-dual-grid.is-single-module{
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:768px){
  .home-content-section .cms-content-hide-web{display:none !important}
  .home-content-section .content-card-track[data-cols-web="1"]{grid-template-columns:minmax(0,1fr) !important}
  .home-content-section .content-card-track[data-cols-web="2"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .home-content-section .content-card-track[data-cols-web="3"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:767px){
  .home-content-section .cms-content-hide-mobile{display:none !important}
  .home-content-section .content-card-track[data-cols-mobile="1"]{grid-template-columns:minmax(0,1fr) !important}
  .home-content-section .content-card-track[data-cols-mobile="2"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .home-content-section .content-card-track[data-cols-mobile="3"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}

  .home-content-section .content-card-track[data-cols-mobile="1"] .fixed-content-card img{
    aspect-ratio:16 / 9 !important;
  }
  .home-content-section .content-card-track[data-cols-mobile="1"] .fixed-content-card .mini-content-body{
    min-height:auto;
    padding:14px;
  }
  .home-content-section .content-card-track[data-cols-mobile="1"] .fixed-content-card .mini-content-body h3{
    min-height:0;
    font-size:15px;
    line-height:1.4;
  }
  .home-content-section .content-card-track[data-cols-mobile="2"] .fixed-content-card .mini-content-body{
    min-height:92px;
    padding:10px;
  }
  .home-content-section .content-card-track[data-cols-mobile="3"] .fixed-content-card .mini-content-body{
    min-height:82px;
    padding:8px;
  }
}

/* =========================================================
   V86.0.42 — Knowledge + News layout modes and larger counts
   ========================================================= */
.home-content-section .content-dual-grid.layout-dual{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.home-content-section .content-dual-grid.layout-stack{
  grid-template-columns:minmax(0,1fr);
  gap:38px;
}
.home-content-section .content-dual-grid.layout-stack .content-module-head{
  min-height:0;
}
.home-content-section .content-dual-grid.layout-stack .content-card-track{
  width:100%;
}

@media (min-width:768px){
  .home-content-section .content-card-track[data-cols-web="4"]{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
  .home-content-section .content-dual-grid.layout-stack .content-module-action{
    margin-top:20px;
  }
}

@media (max-width:767px){
  .home-content-section .content-dual-grid.layout-stack{
    grid-template-columns:minmax(0,1fr);
    gap:30px;
  }
  .home-content-section .content-dual-grid.layout-stack .content-module-head{
    min-height:0;
  }
  .home-content-section .content-dual-grid.layout-stack .content-module-head .section-title{
    min-height:0;
    font-size:clamp(21px,6vw,27px);
  }
  .home-content-section .content-dual-grid.layout-stack .content-card-track[data-cols-mobile="2"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px;
  }
  .home-content-section .content-dual-grid.layout-stack .content-card-track[data-cols-mobile="1"]{
    grid-template-columns:minmax(0,1fr) !important;
  }
  .home-content-section .content-dual-grid.layout-dual .content-card-track[data-cols-mobile="1"]{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* =========================================================
   V86.0.45 — CENTRAL ALBUM FORM REFINEMENT
   Scoped only to the shared/central album editor.
   ========================================================= */
.central-album-editor{
    gap:14px;
}

.central-album-editor .central-form-card{
    border-color:#dfe7e1;
    border-radius:15px;
    box-shadow:0 7px 24px rgba(43,72,52,.035);
}

.central-album-editor .central-form-card-head{
    padding:15px 17px;
    background:#fcfdfc;
}

.central-album-editor .central-form-card-head h2{
    color:#214b34;
    font-size:1.02rem;
}

.central-album-editor .central-form-card-head p{
    max-width:760px;
    color:#839087;
    line-height:1.55;
}

.central-album-editor .central-form-grid{
    gap:15px;
    padding:17px;
}

.central-album-editor .central-form-grid input,
.central-album-editor .central-form-grid textarea{
    min-height:44px;
    border-color:#d8e2da;
    border-radius:10px;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.central-album-editor .central-form-grid input:focus,
.central-album-editor .central-form-grid textarea:focus{
    outline:0;
    border-color:#82aa91;
    box-shadow:0 0 0 3px rgba(76,132,94,.10);
}

.central-album-settings-grid{
    display:grid;
    grid-template-columns:minmax(220px,.78fr) minmax(0,1.1fr) minmax(0,1.1fr);
    gap:12px;
    padding:16px;
}

.central-album-status-card,
.central-album-setting-card{
    min-width:0;
    min-height:116px;
    border:1px solid #e0e7e2;
    border-radius:12px;
    background:#fbfcfb;
}

.central-album-status-card{
    display:grid;
    align-content:start;
    gap:7px;
    padding:13px;
}

.central-album-status-card select{
    width:100%;
    min-height:43px;
    padding:9px 11px;
    border:1px solid #dce4de;
    border-radius:9px;
    background:#fff;
    color:#314b3a;
    font:inherit;
    font-size:.9rem;
    line-height:1.5;
    box-sizing:border-box;
}

.central-album-status-card select:focus{
    outline:0;
    border-color:#82aa91;
    box-shadow:0 0 0 3px rgba(76,132,94,.10);
}

.central-album-status-card small,
.central-album-setting-card small{
    color:#87938b;
    font-size:.76rem;
    font-weight:400;
    line-height:1.5;
}

.central-album-setting-card{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:13px;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.central-album-setting-card:hover{
    border-color:#cbdccf;
    background:#f9fcfa;
}

.central-album-setting-copy{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-width:0;
}

.central-album-setting-copy>span:last-child{
    display:grid;
    gap:3px;
    min-width:0;
}

.central-album-setting-copy strong{
    color:#365643;
    font-size:.88rem;
    line-height:1.45;
}

.central-album-setting-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 34px;
    border-radius:9px;
    background:#edf5ef;
    color:#43805a;
    font-size:.95rem;
}

.central-album-switch{
    position:relative;
    flex:0 0 auto;
    margin-top:2px;
}

.central-album-toggle-input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.central-album-toggle-ui{
    width:36px;
    height:21px;
    display:block;
    position:relative;
    border-radius:999px;
    background:#cdd7d0;
    transition:background .18s ease;
    box-shadow:inset 0 0 0 1px rgba(56,88,66,.08);
}

.central-album-toggle-ui::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:15px;
    height:15px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(32,62,42,.20);
    transition:transform .18s ease;
}

.central-album-toggle-input:checked + .central-album-toggle-ui{
    background:#4d8a61;
}

.central-album-toggle-input:checked + .central-album-toggle-ui::after{
    transform:translateX(15px);
}

.central-album-toggle-input:focus-visible + .central-album-toggle-ui{
    outline:3px solid rgba(76,132,94,.18);
    outline-offset:2px;
}

.central-album-savebar{
    justify-content:space-between;
    gap:14px;
}

.central-album-save-note{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    color:#7d8b81;
    font-size:.8rem;
    line-height:1.45;
}

.central-album-save-note i{
    color:#4c805b;
}

.central-album-save-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

@media(max-width:1050px){
    .central-album-settings-grid{
        grid-template-columns:1fr 1fr;
    }
    .central-album-status-card{
        grid-column:1/-1;
        min-height:auto;
    }
}

@media(max-width:767px){
    .central-album-editor .central-form-card-head,
    .central-album-editor .central-form-grid{
        padding:13px;
    }
    .central-album-settings-grid{
        grid-template-columns:1fr;
        padding:13px;
    }
    .central-album-status-card{
        grid-column:auto;
    }
    .central-album-status-card,
    .central-album-setting-card{
        min-height:auto;
    }
    .central-album-setting-card{
        align-items:center;
    }
    .central-album-savebar{
        display:grid;
        gap:9px;
    }
    .central-album-save-note{
        order:1;
    }
    .central-album-save-actions{
        order:2;
        display:grid;
        grid-template-columns:1fr 1.35fr;
        width:100%;
    }
    .central-album-save-actions a,
    .central-album-save-actions button{
        width:100%;
        justify-content:center;
    }
}


/* V86.0.47 — unified product price presentation */
@media (min-width: 768px) {
  .recommended-product-shell[data-cols-web="5"] .product-market-price,
  .recommended-product-shell[data-cols-web="6"] .product-market-price { font-size: 9px; margin-bottom: 4px; }
}
@media (max-width: 767px) {
  .recommended-product-shell[data-cols-mobile="1"] .product-market-price { font-size: 16px; margin-bottom: 8px; }
  .recommended-product-shell[data-cols-mobile="2"] .product-market-price { font-size: 10px; margin-bottom: 5px; }
  .recommended-product-shell[data-cols-mobile="3"] .product-market-price { font-size: 7.5px; margin-bottom: 3px; }
  .recommended-product-shell[data-cols-mobile="4"] .product-market-price { font-size: 6.5px; margin-bottom: 2px; }
  .all-products-grid[data-cols-mobile="1"] .commerce-product-footer strong { font-size: 15px; }
  .all-products-grid[data-cols-mobile="3"] .commerce-product-footer strong { font-size: 8px; }
  .all-products-grid[data-cols-mobile="4"] .commerce-product-footer strong { font-size: 7px; }
}

/* =========================================================
   V86.0.48 — SELLER CENTER FORM VISUAL CONSISTENCY
   Presentation-only polish for member/seller forms.
   No workflow, validation, data or permission logic changes.
   ========================================================= */

/* Keep all Seller Center form controls on the same visual language. */
.admin-shell.is-farm-themed .central-form-grid > label,
.admin-shell.is-farm-themed .central-form label {
    min-width: 0;
}

.admin-shell.is-farm-themed .central-form-grid > label {
    align-content: start;
    gap: 7px;
}

.admin-shell.is-farm-themed .central-form-grid label > span,
.admin-shell.is-farm-themed .central-field-label {
    line-height: 1.4;
}

.admin-shell.is-farm-themed .central-form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.admin-shell.is-farm-themed .central-form-grid select,
.admin-shell.is-farm-themed .central-form-grid textarea,
.admin-shell.is-farm-themed .central-form > label > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.admin-shell.is-farm-themed .central-form > label > select,
.admin-shell.is-farm-themed .central-form > label > textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #dce4de;
    border-radius: 9px;
    background: #fff;
    color: #314b3a;
    font: inherit;
    font-size: .9rem;
    line-height: 1.45;
}

.admin-shell.is-farm-themed .central-form-grid textarea,
.admin-shell.is-farm-themed .central-form > label > textarea {
    min-height: 108px;
    resize: vertical;
}

.admin-shell.is-farm-themed .central-form-grid input::placeholder,
.admin-shell.is-farm-themed .central-form-grid textarea::placeholder,
.admin-shell.is-farm-themed .central-form > label > input::placeholder,
.admin-shell.is-farm-themed .central-form > label > textarea::placeholder {
    color: #9aa59e;
    opacity: 1;
}

.admin-shell.is-farm-themed .central-form-grid label > small,
.admin-shell.is-farm-themed .central-form label > small,
.admin-shell.is-farm-themed .central-form-help {
    margin-top: 0;
    color: #859189;
    font-size: .78rem;
    line-height: 1.5;
}

/* Form sections use the same spacing and hierarchy throughout Seller Center. */
.admin-shell.is-farm-themed .central-form-card-head {
    padding: 14px 16px;
}

.admin-shell.is-farm-themed .central-form-card-head h2 {
    line-height: 1.35;
}

.admin-shell.is-farm-themed .central-form-card-head p {
    line-height: 1.5;
}

.admin-shell.is-farm-themed .central-form-grid {
    gap: 14px;
    padding: 16px;
}

.admin-shell.is-farm-themed .central-form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* Utility forms outside central-form keep the same control height and focus feel. */
.admin-shell.is-farm-themed .seller-shipping-form input,
.admin-shell.is-farm-themed .seller-shipping-form select,
.admin-shell.is-farm-themed .farm-tool-stock-form input,
.admin-shell.is-farm-themed .farm-tool-stock-form select {
    box-sizing: border-box;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid #dce4de;
    border-radius: 9px;
    background: #fff;
    color: #314b3a;
    font: inherit;
    font-size: .9rem;
}

.admin-shell.is-farm-themed .seller-shipping-form input:focus,
.admin-shell.is-farm-themed .seller-shipping-form select:focus,
.admin-shell.is-farm-themed .farm-tool-stock-form input:focus,
.admin-shell.is-farm-themed .farm-tool-stock-form select:focus {
    border-color: color-mix(in srgb, var(--farm-admin-primary) 48%, #dce4de 52%);
    box-shadow: 0 0 0 3px rgba(var(--farm-admin-primary-rgb), .09);
    outline: 0;
}

/* Filters remain compact, but share radius/type treatment with edit forms. */
.admin-shell.is-farm-themed .central-filter-bar input,
.admin-shell.is-farm-themed .central-filter-bar select {
    box-sizing: border-box;
    min-height: 42px;
    border-radius: 9px;
    font-size: .88rem;
}

@media (max-width: 767px) {
    .admin-shell.is-farm-themed .central-form-card-head,
    .admin-shell.is-farm-themed .central-form-grid {
        padding-left: 13px;
        padding-right: 13px;
    }

    .admin-shell.is-farm-themed .central-form-grid {
        gap: 12px;
    }
}

/* =========================================================
   V86.0.49 — PRODUCT PRICE / SALE UNIT CONTROL ALIGNMENT
   Presentation-only. Keep the two controls in the same row exactly equal.
   ========================================================= */
.central-form[data-slug-mode="product-context"] input[name="price_amount"],
.central-form[data-slug-mode="product-context"] input[name="unit_text"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 43px;
    height: 43px;
    padding: 9px 11px;
    line-height: 1.5;
    vertical-align: middle;
}

/* =========================================================
   V86.0.50 — PRODUCT FORM ROW VERTICAL ALIGNMENT
   Presentation-only. Keep controls in the same row aligned from the top.
   ========================================================= */
.central-form[data-slug-mode="product-context"] .central-form-grid > label {
    align-content: start;
}


/* =========================================================
   V87.0.1 FINAL AUDIT / TEST DATA RESET
   ========================================================= */
.v87-reset-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-bottom:12px;
}
.v87-reset-card .central-panel-head{
    height:100%;
    align-items:center;
}
.v87-reset-card.is-safe{
    border-color:#cfe2d5;
    background:#fbfdfb;
}
.v87-reset-card.is-safe .central-panel-head>i{
    color:#4d8460;
    font-size:1.7rem;
}
.v87-reset-count{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    background:#f0f5f1;
    color:#4c6655;
    font-size:.78rem;
    font-weight:800;
}
.v87-reset-danger{
    border-color:#ead3ce;
}
.v87-reset-danger>.central-panel-head{
    background:#fff9f7;
}
.v87-reset-form{
    display:grid;
    gap:14px;
    padding:16px;
}
.v87-reset-form>label:not(.central-check){
    display:grid;
    gap:7px;
    color:#3f5748;
    font-weight:700;
}
.v87-reset-form input[type="text"]{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #dbe4dd;
    border-radius:10px;
    background:#fff;
    color:#31493a;
    font:inherit;
}
.v87-reset-form input[type="text"]:focus{
    outline:0;
    border-color:#759b82;
    box-shadow:0 0 0 3px rgba(75,126,91,.12);
}
.v87-reset-confirm-check{
    margin:0;
}
.v87-reset-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding-top:2px;
}
.v87-reset-button{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:9px 14px;
    border:1px solid #c65345;
    border-radius:10px;
    background:#b8483b;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}
.v87-reset-button:hover{background:#a94035}
.v87-database-maintenance .central-panel-head{
    align-items:center;
}
@media(max-width:760px){
    .v87-reset-grid{grid-template-columns:1fr}
    .v87-reset-actions{flex-direction:column-reverse}
    .v87-reset-actions>*{width:100%}
    .v87-database-maintenance .central-panel-head{align-items:stretch;flex-direction:column}
}

/* =========================================================
   V87.0.2 BUYER NAV AVATAR DISPLAY FIX
   Scoped to the buyer account control in the public navbar.
   ========================================================= */
.buyer-nav-account {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.buyer-nav-avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
    max-width: 32px;
    flex: 0 0 32px;
    display: block;
    object-fit: cover;
    border: 1px solid rgba(45,106,79,.18);
    border-radius: 50%;
    background: #eef5f1;
}

@media (max-width: 991.98px) {
    .buyer-nav-avatar {
        width: 28px;
        height: 28px;
        min-width: 28px;
        max-width: 28px;
        flex-basis: 28px;
    }
}


/* =========================================================
   V87.0.10 LINE SETTINGS UI POLISH
   Scoped to the LINE merchant-group settings page only.
   ========================================================= */
.line-notifications-page {
    --line-accent: #3f7b58;
    --line-accent-deep: #27583c;
    --line-soft: #f2f8f4;
    --line-border: #dce8df;
    --line-muted: #7d8b82;
}

.line-notifications-page .line-setup-status {
    gap: 12px;
    margin-bottom: 14px;
}

.line-notifications-page .line-setup-status > div {
    position: relative;
    min-height: 96px;
    padding: 16px 17px;
    border-color: var(--line-border);
    border-radius: 16px;
    background: linear-gradient(180deg,#fff 0%,#fbfdfb 100%);
    box-shadow: 0 8px 24px rgba(31,62,43,.045);
}

.line-notifications-page .line-setup-status > div::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 16px 0 0 16px;
    background: #d7eadc;
}

.line-notifications-page .line-setup-status span {
    color: #77867d;
    font-size: .8rem;
    font-weight: 700;
}

.line-notifications-page .line-setup-status strong {
    margin-top: 6px;
    color: #274b35;
    font-size: .94rem;
}

.line-notifications-page .line-setup-status small {
    margin-top: 5px;
    color: #8a968f;
    font-size: .74rem;
    line-height: 1.45;
    white-space: normal;
}

.line-notifications-layout {
    grid-template-columns: minmax(330px, 390px) minmax(0,1fr);
    gap: 14px;
}

.line-notifications-page .central-panel {
    border-color: var(--line-border);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(31,62,43,.045);
}

.line-notifications-page .central-panel-head {
    min-height: 66px;
    padding: 16px 18px;
    background: linear-gradient(180deg,#fff 0%,#fbfdfb 100%);
}

.line-notifications-page .central-panel-head h2 {
    color: #234a33;
    font-size: 1.08rem;
}

.line-notifications-page .central-panel-head p {
    margin-top: 4px;
    color: #839087;
    line-height: 1.5;
}

.line-notifications-editor .central-form-grid.compact {
    gap: 14px;
    padding: 16px;
}

.line-notifications-editor .central-form-grid label > span {
    color: #345a42;
}

.line-notifications-editor .central-form-grid input[type="text"],
.line-notifications-editor .central-form-grid input:not([type]) {
    min-height: 46px;
    border-color: #d6e3da;
    border-radius: 11px;
    background: #fff;
}

.line-notifications-editor .central-form-grid input:focus {
    outline: 0;
    border-color: #7ca68a;
    box-shadow: 0 0 0 3px rgba(63,123,88,.12);
}

.line-notifications-editor .central-field-help {
    display: block;
    margin-top: 2px;
    color: #62766a;
    font-size: .8rem;
    font-weight: 700;
}

.line-notifications-editor .central-switch-list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
}

.line-notifications-editor .central-switch-list label {
    min-height: 44px;
    padding: 10px 11px;
    border: 1px solid #dce7df;
    border-radius: 11px;
    background: #fbfdfb;
    color: #385843;
    font-size: .84rem;
    font-weight: 700;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.line-notifications-editor .central-switch-list label:hover {
    border-color: #bfd5c5;
    background: var(--line-soft);
}

.line-notifications-editor .central-switch-list input {
    accent-color: var(--line-accent);
}

.line-notifications-editor .central-form-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 2px;
}

.line-notifications-editor .central-form-actions .farm-admin-primary-action,
.line-notifications-editor .central-form-actions .farm-admin-secondary-action {
    min-height: 42px;
    border-radius: 10px;
}

.line-notifications-list .central-table-wrap {
    overflow: visible;
}

.line-destination-table {
    min-width: 0;
    table-layout: fixed;
}

.line-destination-table th:nth-child(1) { width: 28%; }
.line-destination-table th:nth-child(2) { width: 43%; }
.line-destination-table th:nth-child(3) { width: 10%; }
.line-destination-table th:nth-child(4) { width: 19%; }

.line-destination-table th,
.line-destination-table td {
    padding: 14px 16px;
}

.line-destination-table tbody tr {
    transition: background .15s ease;
}

.line-destination-table tbody tr:hover {
    background: #fbfdfb;
}

.line-destination-table td strong {
    color: #214a31;
    font-size: .94rem;
}

.line-destination-table td small {
    margin-top: 4px;
    color: #87948c;
    line-height: 1.5;
}

.line-destination-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 800;
}

.line-destination-status.is-on {
    background: #eaf5ed;
    color: #2f6e46;
}

.line-destination-status.is-off {
    background: #f2f3f2;
    color: #7c8680;
}

.line-destination-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.line-destination-actions form {
    margin: 0;
}

.line-action-edit,
.line-action-delete {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 9px;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.line-action-edit {
    border: 1px solid #cfe0d4;
    background: #f5faf6;
    color: #356246;
}

.line-action-edit:hover {
    border-color: #a9c7b2;
    background: #eaf5ed;
    color: #285339;
}

.line-action-delete {
    border: 1px solid #efd9d6;
    background: #fff8f7;
    color: #a34f45;
}

.line-action-delete:hover {
    border-color: #e6beb9;
    background: #fff0ee;
    color: #8d4037;
}

@media (max-width: 1100px) {
    .line-notifications-layout {
        grid-template-columns: 1fr;
    }

    .line-notifications-editor {
        position: static;
    }
}

@media (max-width: 760px) {
    .line-notifications-page .line-setup-status > div {
        min-height: 0;
    }

    .line-notifications-editor .central-switch-list {
        grid-template-columns: 1fr;
    }

    .line-notifications-list .central-table-wrap {
        overflow-x: auto;
    }

    .line-destination-table {
        min-width: 720px;
    }
}

/* =========================================================
   V87.0.12 FARM OWNER PUBLIC IDENTITY + BUYER NOTIFICATIONS
   ========================================================= */

/* Farm owner editor ------------------------------------------------------- */
.farm-owner-editor-card .central-form-card-head p{
    max-width:760px;
}
.farm-owner-editor-layout{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:20px;
    padding:18px;
    align-items:start;
}
.farm-owner-photo-editor{
    display:grid;
    gap:9px;
    align-content:start;
}
.farm-owner-photo-preview{
    width:100%;
    aspect-ratio:4/5;
    overflow:hidden;
    border:1px solid #dbe5de;
    border-radius:18px;
    background:linear-gradient(145deg,#f6faf7,#edf4ef);
}
.farm-owner-photo-preview img,
.farm-owner-photo-placeholder{
    width:100%;
    height:100%;
    display:block;
}
.farm-owner-photo-preview img{object-fit:cover}
.farm-owner-photo-placeholder{
    display:grid;
    place-items:center;
    color:#71917c;
    font-size:58px;
}
.farm-owner-photo-editor .central-media-picker{width:100%}
.farm-owner-photo-editor>small{color:#859188;font-size:.74rem;line-height:1.5}
.farm-owner-editor-fields{min-width:0}
.farm-owner-account-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:14px;
    padding:11px 12px;
    border:1px solid #dbe8df;
    border-radius:12px;
    background:#f5faf6;
    color:#355746;
}
.farm-owner-account-note.is-warning{
    border-color:#eadfca;
    background:#fffaf0;
    color:#775d2c;
}
.farm-owner-account-note>i{margin-top:1px;font-size:17px}
.farm-owner-account-note>span{display:grid;gap:2px}
.farm-owner-account-note strong{font-size:.82rem}
.farm-owner-account-note small{color:#7d8a82;font-size:.72rem;line-height:1.5}
.farm-owner-profile-fields{padding:0}
.farm-owner-visibility-box{
    margin:0 18px 18px;
    padding:15px;
    border:1px solid #dde7e0;
    border-radius:16px;
    background:#fafcfb;
}
.farm-owner-visibility-head{margin-bottom:11px}
.farm-owner-visibility-head strong{display:block;color:#294637;font-size:.86rem}
.farm-owner-visibility-head small{display:block;margin-top:3px;color:#7d8a82;font-size:.72rem;line-height:1.5}
.farm-owner-visibility-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}
.farm-owner-visibility-toggle{
    min-width:0;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid #e1e8e3;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.farm-owner-visibility-toggle>input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.farm-owner-switch{
    position:relative;
    width:32px;
    height:18px;
    flex:0 0 32px;
    border-radius:999px;
    background:#cfd9d2;
    transition:.16s ease;
}
.farm-owner-switch:after{
    content:"";
    position:absolute;
    width:14px;
    height:14px;
    left:2px;
    top:2px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.15);
    transition:.16s ease;
}
.farm-owner-visibility-toggle>input:checked + .farm-owner-switch{background:#4c8b64}
.farm-owner-visibility-toggle>input:checked + .farm-owner-switch:after{transform:translateX(14px)}
.farm-owner-visibility-toggle>span:last-child{min-width:0;display:grid;gap:1px}
.farm-owner-visibility-toggle strong{font-size:.75rem;color:#3e5648}
.farm-owner-visibility-toggle small{font-size:.66rem;color:#8a958e;line-height:1.35}

/* Public owner profile ---------------------------------------------------- */
.farm-owner-public-section{background:#fff}
.farm-owner-public-head{margin-bottom:22px}
.farm-owner-public-card{
    display:grid;
    grid-template-columns:minmax(220px,300px) minmax(0,1fr);
    gap:30px;
    align-items:center;
    padding:26px;
    border:1px solid var(--farm-lh-border,#dfe8e2);
    border-radius:28px;
    background:linear-gradient(135deg,#fff 0%,var(--farm-theme-softer,#f7faf8) 100%);
    box-shadow:0 12px 34px rgba(24,52,37,.06);
}
.farm-owner-public-photo-wrap{min-width:0}
.farm-owner-public-photo{
    width:100%;
    aspect-ratio:4/5;
    display:block;
    object-fit:cover;
    border-radius:22px;
    background:#edf4ef;
}
.farm-owner-public-photo.is-placeholder{
    display:grid;
    place-items:center;
    color:var(--farm-theme-primary,#2d6a4f);
    font-size:70px;
    font-weight:800;
    background:var(--farm-theme-soft,#eef5f1);
}
.farm-owner-public-copy{min-width:0}
.farm-owner-public-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    color:var(--farm-theme-primary,#2d6a4f);
    font-size:13px;
    font-weight:800;
}
.farm-owner-public-copy h3{
    margin:0 0 10px;
    color:var(--farm-theme-deep,#173025);
    font-size:clamp(25px,3vw,38px);
    line-height:1.2;
}
.farm-owner-public-copy p{
    max-width:780px;
    margin:0;
    color:#5f6e66;
    font-size:15px;
    line-height:1.8;
}
.farm-owner-public-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:17px;
}
.farm-owner-public-meta span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border:1px solid var(--farm-theme-border,#d7e5dc);
    border-radius:999px;
    background:#fff;
    color:#4d6255;
    font-size:12px;
    font-weight:700;
}
.farm-owner-public-meta i{color:var(--farm-theme-primary,#2d6a4f)}
.farm-owner-public-contact{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px;
}
.farm-owner-public-contact a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:11px;
    background:var(--farm-theme-primary,#2d6a4f);
    color:#fff;
    font-size:12px;
    font-weight:750;
    text-decoration:none;
}
.farm-owner-public-contact a:hover{filter:brightness(.94);color:#fff}

/* Buyer notification bell ------------------------------------------------ */
.buyer-nav-notification-dropdown{position:relative}
.buyer-nav-notification-button{
    position:relative;
    width:42px;
    height:42px;
    display:inline-grid;
    place-items:center;
    padding:0;
    border:1px solid #dbe4de;
    border-radius:12px;
    background:#fff;
    color:#355646;
    cursor:pointer;
    transition:.15s ease;
}
.buyer-nav-notification-button:hover,
.buyer-nav-notification-button[aria-expanded="true"]{
    border-color:#afc6b6;
    background:#f3f8f4;
    color:#28523a;
}
.buyer-nav-notification-button>i{font-size:17px}
.buyer-nav-notification-count{
    position:absolute;
    right:-5px;
    top:-6px;
    min-width:19px;
    height:19px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border:2px solid #fff;
    border-radius:999px;
    background:#d9534f;
    color:#fff;
    font-size:9px;
    font-weight:800;
    line-height:1;
}
.buyer-nav-notification-menu{
    width:min(360px,calc(100vw - 24px));
    padding:0;
    overflow:hidden;
    border:1px solid #dfe7e1;
    border-radius:15px;
    box-shadow:0 18px 45px rgba(27,54,39,.14);
}
.buyer-nav-notification-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-bottom:1px solid #edf1ee;
    background:#fbfcfb;
}
.buyer-nav-notification-head strong{color:#294637;font-size:13px}
.buyer-nav-notification-head a{color:#2d6a4f;font-size:10px;font-weight:800;text-decoration:none}
.buyer-nav-notification-items{display:grid;max-height:390px;overflow:auto}
.buyer-nav-notification-item{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    padding:11px 13px;
    border-bottom:1px solid #eef2ef;
    color:inherit;
    text-decoration:none;
}
.buyer-nav-notification-item:last-child{border-bottom:0}
.buyer-nav-notification-item:hover{background:#f8fbf9}
.buyer-nav-notification-item.is-unread{background:#f2f8f4}
.buyer-nav-notification-icon{
    width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
    background:#e7f1ea;color:#2d6a4f;font-size:14px;
}
.buyer-nav-notification-item>span:last-child{min-width:0;display:grid;gap:2px}
.buyer-nav-notification-item strong{overflow:hidden;color:#344e40;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.buyer-nav-notification-item small{overflow:hidden;color:#7d8982;font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.buyer-nav-notification-empty{display:grid;justify-items:center;gap:5px;padding:26px 14px;color:#88948d;font-size:10px}
.buyer-nav-notification-empty i{color:#779b84;font-size:22px}

/* Buyer notification center ---------------------------------------------- */
.buyer-notification-page{max-width:1060px}
.buyer-notification-page-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.buyer-notification-page-head h1{margin:5px 0 4px;color:#203e2f}
.buyer-notification-page-head p{margin:0;color:#7b8880;font-size:12px}
.buyer-notification-panel{
    overflow:hidden;
    border:1px solid #e0e7e2;
    border-radius:16px;
    background:#fff;
}
.buyer-notification-list{display:grid}
.buyer-notification-item{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 10px;
    gap:12px;
    align-items:start;
    padding:15px 16px;
    border-bottom:1px solid #edf1ee;
    color:inherit;
    text-decoration:none;
}
.buyer-notification-item:last-child{border-bottom:0}
.buyer-notification-item:hover{background:#fafcfb}
.buyer-notification-item.is-unread{background:#f4f9f5}
.buyer-notification-icon{
    width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
    background:#e8f2eb;color:#2d6a4f;font-size:18px;
}
.buyer-notification-copy{min-width:0;display:grid;gap:3px}
.buyer-notification-copy strong{color:#2c4738;font-size:13px}
.buyer-notification-copy>span{color:#6f7e75;font-size:11px;line-height:1.55}
.buyer-notification-copy small{color:#929b95;font-size:9px}
.buyer-notification-unread-dot{width:8px;height:8px;margin-top:8px;border-radius:50%;background:#3f8a5e;box-shadow:0 0 0 4px #e8f3eb}

@media(max-width:980px){
    .farm-owner-visibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .farm-owner-public-card{grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:760px){
    .farm-owner-editor-layout{grid-template-columns:1fr}
    .farm-owner-photo-editor{max-width:300px}
    .farm-owner-public-card{grid-template-columns:1fr;gap:20px;padding:20px}
    .farm-owner-public-photo-wrap{max-width:300px;margin:0 auto;width:100%}
    .farm-owner-public-copy{text-align:center}
    .farm-owner-public-meta,.farm-owner-public-contact{justify-content:center}
    .buyer-notification-page-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
    .farm-owner-visibility-grid{grid-template-columns:1fr}
    .farm-owner-visibility-box{margin-inline:12px;padding:12px}
    .farm-owner-editor-layout{padding:12px}
    .buyer-nav-notification-button{width:38px;height:38px;border-radius:10px}
    .buyer-notification-item{grid-template-columns:38px minmax(0,1fr) 8px;padding:13px 12px;gap:10px}
    .buyer-notification-icon{width:38px;height:38px;border-radius:11px;font-size:16px}
}


/* V87.0.13 account-owned public profile */
.account-profile-farm-note{margin-bottom:14px}.account-profile-farm-note.is-neutral{background:#f7faf8;border-color:#dbe6df}.farm-owner-source-content{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px}.farm-owner-source-person{display:flex;align-items:center;gap:12px;min-width:0}.farm-owner-source-avatar{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;overflow:hidden;border:1px solid #dbe5df;border-radius:18px;background:#f2f7f4;color:#47745c;font-size:24px}.farm-owner-source-avatar img{width:100%;height:100%;display:block;object-fit:cover}.farm-owner-source-person>div:last-child{min-width:0}.farm-owner-source-person span,.farm-owner-source-person small{display:block;color:#7d8a82;font-size:.76rem}.farm-owner-source-person strong{display:block;margin:2px 0;color:#294638;font-size:1rem}.farm-owner-source-actions{display:flex;align-items:center;justify-content:flex-end}.farm-owner-source-note{max-width:430px;display:inline-flex;align-items:flex-start;gap:7px;color:#718078;font-size:.78rem;line-height:1.55;text-align:right}.farm-owner-source-note i{margin-top:2px;color:#4f8063}.account-profile-page .central-form-card{overflow:visible}@media(max-width:760px){.farm-owner-source-content{align-items:stretch;flex-direction:column}.farm-owner-source-actions{justify-content:flex-start}.farm-owner-source-note{text-align:left}}


/* =========================================================
   V87.0.23 — Buyer Wishlist / Favorites
   ========================================================= */
.commerce-product-card{position:relative}
.commerce-product-wishlist-form{
    position:absolute;
    z-index:5;
    top:8px;
    right:8px;
    margin:0;
}
.commerce-product-wishlist-button{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(45,106,79,.10);
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#365f48;
    box-shadow:0 3px 10px rgba(28,55,39,.10);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    cursor:pointer;
    transition:
        transform .15s ease,
        color .15s ease,
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}
.commerce-product-wishlist-button:hover{
    transform:scale(1.06);
    color:#24583e;
    background:rgba(255,255,255,.98);
    border-color:rgba(45,106,79,.18);
    box-shadow:0 5px 14px rgba(28,55,39,.14);
}
.commerce-product-wishlist-button:focus-visible{
    outline:3px solid rgba(45,106,79,.22);
    outline-offset:2px;
}
.commerce-product-wishlist-button.is-active{
    color:#2d6a4f;
    background:rgba(238,247,241,.96);
    border-color:rgba(45,106,79,.22);
}
.commerce-product-wishlist-button i{
    font-size:23px;
    line-height:1;
    filter:drop-shadow(0 1px 1px rgba(255,255,255,.95));
}
.product-wishlist-box{margin-top:10px}
.product-wishlist-detail-button{
    width:100%;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid #cbdad0;
    border-radius:11px;
    background:#fff;
    color:#355743;
    font-weight:700;
}
.product-wishlist-detail-button:hover{
    border-color:#95b29f;
    background:#f6faf7;
    color:#244b34;
}
.product-wishlist-detail-button.is-active{
    border-color:#b8d2c0;
    background:#edf6f0;
    color:#24563c;
}
@media(max-width:520px){
    .commerce-product-wishlist-form{top:6px;right:6px}
    .commerce-product-wishlist-button{width:38px;height:38px}.commerce-product-wishlist-button i{font-size:22px}
}


/* =========================================================
   V87.0.26 — Product detail typography readability pass
   Keep the current layout; improve text legibility only.
   ========================================================= */
.product-detail-page .product-breadcrumb,
.product-detail-page .breadcrumb,
.product-detail-page .breadcrumb a,
.product-detail-page .breadcrumb span{
    font-size:12px;
    line-height:1.5;
}

.product-detail-page .product-summary-tags span{
    font-size:11px;
    line-height:1.35;
}

.product-detail-page .product-visit-farm-copy small{
    font-size:10px;
    line-height:1.35;
}
.product-detail-page .product-visit-farm-copy strong{
    font-size:14px;
    line-height:1.4;
}
.product-detail-page .product-visit-farm-copy > span{
    font-size:10px;
    line-height:1.45;
}
.product-detail-page .product-visit-farm-action{
    font-size:10px;
    line-height:1.3;
}

.product-detail-page .product-status-card > div span{
    font-size:11px;
    line-height:1.35;
}
.product-detail-page .product-status-card > div strong{
    font-size:18px;
    line-height:1.35;
}
.product-detail-page .product-availability{
    font-size:11px;
    line-height:1.45;
}

.product-detail-page .product-buy-qty span{
    font-size:10.5px;
    line-height:1.35;
}
.product-detail-page .product-add-cart,
.product-detail-page .product-line-inline-btn{
    font-size:11.5px;
    line-height:1.35;
}

.product-detail-page .product-specs-heading span{
    font-size:10.5px;
    line-height:1.4;
}
.product-detail-page .product-quick-spec span{
    font-size:10px;
    line-height:1.35;
}
.product-detail-page .product-quick-spec strong{
    font-size:11.5px;
    line-height:1.4;
}

.product-detail-page .product-info-card .eyebrow{
    font-size:10.5px;
    line-height:1.4;
}
.product-detail-page .product-long-description{
    font-size:13px;
    line-height:1.75;
}
.product-detail-page .product-detail-list span{
    font-size:11px;
    line-height:1.45;
}
.product-detail-page .product-detail-list p{
    font-size:12.5px;
    line-height:1.6;
}

.product-detail-page .product-source-head small,
.product-detail-page .product-source-head span{
    font-size:10px;
    line-height:1.4;
}
.product-detail-page .product-source-head h3{
    font-size:15px;
    line-height:1.4;
}
.product-detail-page .product-source-card > p{
    font-size:11.5px;
    line-height:1.6;
}
.product-detail-page .product-source-meta span{
    font-size:10px;
    line-height:1.45;
}
.product-detail-page .product-source-link{
    font-size:10.5px;
    line-height:1.4;
}
.product-detail-page .product-trust-card strong{
    font-size:11px;
    line-height:1.4;
}
.product-detail-page .product-trust-card p{
    font-size:10px;
    line-height:1.5;
}

@media(max-width:767px){
    .product-detail-page .product-summary-tags span{font-size:10.5px}
    .product-detail-page .product-visit-farm-copy strong{font-size:13.5px}
    .product-detail-page .product-status-card > div span{font-size:10.5px}
    .product-detail-page .product-availability{font-size:10.5px}
    .product-detail-page .product-long-description{font-size:12.5px}
    .product-detail-page .product-detail-list span{font-size:10.5px}
    .product-detail-page .product-detail-list p{font-size:12px}
}


/* =========================================================
   V87.0.28 — Buyer notification deletion
   Delete affects buyer_notifications only, never source orders/payments.
   ========================================================= */
.buyer-notification-form{margin:0}
.buyer-notification-head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
}
.buyer-notification-head-actions .btn{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding-inline:11px;
    font-size:10px;
    font-weight:750;
}
.buyer-notification-delete-selected,
.buyer-notification-delete-all{
    color:#77564d;
}
.buyer-notification-delete-all:hover{
    border-color:#ddbbb2;
    background:#fff6f4;
    color:#a14d3c;
}

.buyer-notification-row{
    position:relative;
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 38px;
    align-items:stretch;
    border-bottom:1px solid #edf1ee;
    background:#fff;
}
.buyer-notification-row:last-child{border-bottom:0}
.buyer-notification-row:hover{background:#fafcfb}
.buyer-notification-row.is-unread{background:#f4f9f5}

.buyer-notification-row .buyer-notification-item{
    grid-template-columns:44px minmax(0,1fr) 10px;
    min-width:0;
    padding:15px 8px 15px 4px;
    border-bottom:0;
    background:transparent;
}
.buyer-notification-row .buyer-notification-item:hover{background:transparent}
.buyer-notification-row .buyer-notification-item.is-unread{background:transparent}

.buyer-notification-select{
    display:grid;
    place-items:center;
    margin:0;
    cursor:pointer;
}
.buyer-notification-select input{
    width:16px;
    height:16px;
    margin:0;
    accent-color:#2d6a4f;
    cursor:pointer;
}

.buyer-notification-row-delete{
    align-self:center;
    justify-self:center;
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:#9b7770;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.buyer-notification-row-delete:hover{
    border-color:#ead1cb;
    background:#fff5f3;
    color:#b04f3e;
}
.buyer-notification-row-delete i{
    font-size:13px;
    line-height:1;
}

@media(max-width:760px){
    .buyer-notification-head-actions{
        width:100%;
        justify-content:flex-start;
    }
}
@media(max-width:520px){
    .buyer-notification-head-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .buyer-notification-head-actions .btn{
        width:100%;
        padding-inline:7px;
    }
    .buyer-notification-head-actions .btn:first-child:last-child{
        grid-column:1/-1;
    }
    .buyer-notification-row{
        grid-template-columns:28px minmax(0,1fr) 34px;
    }
    .buyer-notification-row .buyer-notification-item{
        grid-template-columns:38px minmax(0,1fr) 8px;
        padding:13px 5px 13px 0;
        gap:10px;
    }
    .buyer-notification-row-delete{
        width:30px;
        height:30px;
    }
}


/* =========================================================
   V87.0.30 — Buyer Notification Center parity with Admin
   ========================================================= */
.buyer-notification-read-all-form{margin:0}
.buyer-notification-manage-form{margin:0}

.buyer-notification-manage-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-bottom:1px solid #e9efeb;
    background:#fafcfb;
}
.buyer-notification-select-all{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:#4f6759;
    font-size:10.5px;
    font-weight:750;
    cursor:pointer;
}
.buyer-notification-select-all input{
    width:16px;
    height:16px;
    margin:0;
    accent-color:#2d6a4f;
    cursor:pointer;
}
.buyer-notification-manage-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
}
.buyer-notification-manage-actions .btn{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding-inline:10px;
    font-size:10px;
    font-weight:750;
}
.buyer-notification-delete-all{
    color:#8f594c;
}
.buyer-notification-delete-all:hover{
    border-color:#dfbeb5;
    background:#fff6f4;
    color:#ab4f3d;
}

@media(max-width:620px){
    .buyer-notification-manage-toolbar{
        align-items:stretch;
        flex-direction:column;
    }
    .buyer-notification-manage-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }
    .buyer-notification-manage-actions .btn{
        width:100%;
    }
}

/* =========================================================
   V87.0.34 — Checkout typography readability pass
   Keep the current checkout layout; adjust text sizing only.
   ========================================================= */
.commerce-page .commerce-page-head .eyebrow{
    font-size:12px;
    line-height:1.45;
}
.commerce-page .commerce-page-head h1{
    font-size:clamp(30px,3.2vw,43px);
    line-height:1.18;
}
.commerce-page .commerce-page-head p{
    font-size:14px;
    line-height:1.65;
}

.checkout-card h2,
.checkout-summary h2{
    font-size:20px;
    line-height:1.35;
}
.checkout-fields label > span{
    font-size:12px;
    line-height:1.45;
}
.checkout-fields input,
.checkout-fields textarea{
    font-size:14px;
    line-height:1.5;
}
.checkout-fields input::placeholder,
.checkout-fields textarea::placeholder{
    font-size:13px;
}
.checkout-fields .thai-address-help{
    font-size:11px;
    line-height:1.55;
}

.checkout-farm-summary{
    gap:8px;
}
.checkout-farm-summary > strong{
    font-size:13px;
    line-height:1.45;
}
.checkout-farm-summary > span{
    font-size:11px;
    line-height:1.5;
}
.checkout-farm-summary > span b{
    font-size:11px;
}
.checkout-farm-summary em{
    font-size:10.5px;
    line-height:1.45;
}
.checkout-summary .checkout-cost-row{
    font-size:12px;
    line-height:1.45;
}
.checkout-summary .checkout-cost-row strong{
    font-size:12.5px;
}
.checkout-grand-total{
    font-size:12px;
    line-height:1.45;
}
.checkout-grand-total strong{
    font-size:18px;
}
.checkout-agree{
    align-items:flex-start;
    font-size:11px;
    line-height:1.55;
}
.checkout-agree input{
    width:16px;
    height:16px;
    flex:0 0 16px;
    margin-top:1px;
}
.checkout-summary .btn-primary-custom{
    min-height:46px;
    font-size:13px;
    font-weight:750;
}

@media(max-width:700px){
    .commerce-page .commerce-page-head h1{
        font-size:30px;
    }
    .commerce-page .commerce-page-head p{
        font-size:13px;
    }
    .checkout-card h2,
    .checkout-summary h2{
        font-size:18px;
    }
    .checkout-fields label > span{
        font-size:11.5px;
    }
    .checkout-fields input,
    .checkout-fields textarea{
        font-size:14px;
    }
}
