@font-face {font-family:'Fraunces'; src:url('/fonts/Fraunces-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap;}
@font-face {font-family:'Source Sans 3'; src:url('/fonts/SourceSans3-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Source Sans 3'; src:url('/fonts/SourceSans3-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap;}


* {box-sizing:border-box;}
html, body {max-width:100%; overflow-x:hidden;}
body {font-family:Arial, Helvetica, sans-serif; background:#f5f4ef; color:#252b25; line-height:1.5;margin:0;}
a {color:#35613d; text-decoration:none; font-family:'Fraunces', Georgia;}
a:hover {text-decoration:underline;}
main {max-width:1200px; margin:0 auto;}
h1, h2, h3 {color:#203c26; line-height:1.15; margin-top:0; font-family:'Fraunces',Georgia;}
h1 {font-size:38px; letter-spacing:-1px; margin:10px 0;}
h2 {font-size:23px; margin-bottom:15px;}
p {color:#5b625b; font-family:'Source Sans 3', Arial, sans-serif;}
h1, h2, h3, h4, h5, h6 {font-family:'Fraunces',Georgia;}

button, input[type=submit] {border:0; background:#35613d; color:#fff; padding:12px 22px; border-radius:7px; font-size:15px; font-weight:600; cursor:pointer;}
button:hover, input[type=submit]:hover {background:#294e30;}
input[type=text], input[type=password], input[type=email], input[type=tel], input[type=number], textarea, select {width:100%; border:1px solid #cfd1ca; background:#fff; border-radius:7px; padding:11px 12px; font-size:15px; color:#252b25; outline:none; font-family:'Source Sans 3', arial, sans-serif;}
input:focus, textarea:focus, select:focus {border-color:#63866a; box-shadow:0 0 0 3px rgba(53,97,61,.10);}
textarea {resize:vertical; font-family:inherit;}

.form-field {margin-bottom:16px;}
.form-field label {display:block; margin-bottom:5px; font-size:12px; font-weight:700; color:#294d34;}
.form-field input[type="text"], .form-field input[type="email"], .form-field input[type="password"], .form-field input[type="tel"], .form-field input[type="number"], .form-field select, .form-field textarea {box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid #ccd3ca; border-radius:6px; background:#fff; font:inherit;}
.form-row {display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.form-help {margin-top:5px; font-size:11px; color:#758078;}
.form-message {display:block; margin-bottom:15px;}
.primary-button {padding:10px 18px; border:0; border-radius:6px; background:#245b35; color:#fff; font-weight:700; cursor:pointer;}

.join-page, .login-page, .product-form {background:#fff; border:1px solid #e0dfd9; border-radius:12px; padding:32px; box-shadow:0 3px 14px rgba(0,0,0,.04);}
.join-page {max-width:680px; margin:0 auto;}

/* Login */

.login-page {max-width:480px; margin:45px auto; padding:40px 32px; background:#fff; border:1px solid #deddd6; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.03);}
.login-page h1 {margin:0 0 8px; color:#173c25; font-size:38px; line-height:1.1;}
.login-page > p:first-of-type {margin:0 0 28px; color:#626a63; font-size:15px;}
.external-login {display:flex; justify-content:center; width:100%; margin:0 0 22px;}
.external-login .g_id_signin {width:auto;}
.login-divider {display:flex; align-items:center; gap:14px; width:100%; margin:20px 0; color:#8a8f8a; font-size:12px;}
.login-divider:before, .login-divider:after {content:""; flex:1; height:1px; background:#d9ddd7;}
.login-divider span {flex:0 0 auto; color:#777; text-transform:uppercase; letter-spacing:1px;}
.login-page .form-field {margin-bottom:18px;}
.login-page .form-field label {display:block; margin-bottom:6px; color:#173c25; font-size:12px; font-weight:700;}
.login-page input[type="text"], .login-page input[type="password"] {width:100%; height:46px; padding:0 12px; box-sizing:border-box; border:1px solid #c9d0c7; border-radius:6px; font-family:inherit; font-size:15px;}
.login-page input[type="text"]:focus, .login-page input[type="password"]:focus {outline:none; border-color:#5f8b67; box-shadow:0 0 0 2px rgba(95,139,103,.1);}
.login-page .form-field input[type="checkbox"] {width:auto; height:auto; margin:0 7px 0 0; vertical-align:middle;}
.login-page .form-field input[type="checkbox"] + label {display:inline; margin:0; vertical-align:middle; font-size:13px;}
.login-page input[type="submit"] {padding:11px 22px; background:#326b43; border:0; border-radius:6px; color:#fff; font-family:inherit; font-size:14px; font-weight:700; cursor:pointer;}
.login-page input[type="submit"]:hover {background:#285936;}
.login-page > p:not(:first-of-type) {margin:18px 0 0; color:#626a63; font-size:14px;}
.login-page > p:not(:first-of-type) + p {margin-top:10px;}
.login-page a {color:#285f38; font-weight:700; text-decoration:none;}
.login-page a:hover {text-decoration:underline;}
.login-message {display:block; margin:0 0 20px; padding:12px 14px; border-radius:6px; font-size:13px; line-height:1.45;}
.login-message-info {background:#eef5ea; border:1px solid #cbdcc5; color:#285936;}
.login-message-error {background:#f9eeee; border:1px solid #e5c7c3; color:#873126;}

@media(max-width:600px){.login-page {margin:20px 15px; padding:30px 22px;}.login-page h1 {font-size:32px;}}

.brand img {width:250px; max-height:64px; height:auto; display:block; object-fit:contain;}
.site-header {height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; max-width:1200px; margin:0 auto; padding:0 28px;}
header {background:#f5f4ef; border-bottom:1px solid #dddcd5;}
.site-logo {font-size:24px; font-weight:700; color:#244b2c; text-decoration:none; letter-spacing:-.5px;}
.site-logo:hover {text-decoration:none;}
.nav-control {display:flex; align-items:center; justify-content:flex-end; flex:1;}
.site-header nav {display:flex; align-items:center; justify-content:flex-end; gap:30px; white-space:nowrap;}
.site-header .desktop-nav {display:flex; align-items:center; justify-content:flex-end; gap:30px; white-space:nowrap;}
.site-header nav a {margin-left:0; text-decoration:none;}

.mobile-nav-toggle {display:none; padding:5px 7px; background:transparent; color:#244b2c; border:0; border-radius:0; font-size:27px; line-height:1; cursor:pointer;}
.mobile-nav-toggle:hover {background:transparent;}
.mobile-nav-overlay {position:fixed; inset:0; z-index:1998; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease;}
.mobile-nav-overlay.open {opacity:1; visibility:visible;}
.mobile-nav-drawer {position:fixed; top:0; right:0; z-index:1999; width:min(340px,85vw); height:100vh; padding:22px; background:#f5f4ef; box-shadow:-10px 0 35px rgba(0,0,0,.18); transform:translateX(105%); transition:transform .25s ease;}
.mobile-nav-drawer.open {transform:translateX(0);}
.mobile-nav-header {display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid #dddcd5;}
.mobile-nav-header strong {font-family:Georgia,"Times New Roman",serif; font-size:23px; color:#203c26;}
.mobile-nav-close {padding:0; background:transparent; color:#244b2c; border:0; font-size:34px; line-height:1; cursor:pointer;}
.mobile-nav-close:hover {background:transparent;}
.site-header .mobile-nav {display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:12px; white-space:normal;}
.site-header .mobile-nav a {display:block; padding:15px 4px; border-bottom:1px solid #e0dfd9; color:#203c26; font-size:17px; text-decoration:none;}
.site-header .mobile-nav a:hover {color:#35613d; text-decoration:none;}
.mobile-nav-location {margin-top:25px; padding:14px 0; color:#526057; font-size:14px;}
.nav-open {overflow:hidden;}

.section-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:10px;}
.section-heading h2 {margin:3px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:35px; color:#18422b;}
.section-heading > a {color:#32683e; font-size:14px; font-weight:700;}
.section-eyebrow {font-size:10px; font-weight:800; letter-spacing:1.4px; color:#6c876e;}

.dashboard-page {max-width:1000px; margin:0 auto;}
.dashboard-actions {display:flex; gap:12px; flex-wrap:wrap; margin:28px 0 40px;}
.dashboard-actions a {display:inline-block; background:#fff; border:1px solid #d8d9d3; padding:11px 17px; border-radius:7px; font-weight:600;}
.dashboard-actions a:hover {border-color:#7b9a81; text-decoration:none;}
.profile-page {max-width:1000px; margin:0 auto;}
.profile-form {max-width:680px; background:#fff; border:1px solid #e0dfd9; border-radius:12px; padding:32px; box-shadow:0 3px 14px rgba(0,0,0,.04);}
.profile-form h2:first-child {margin-top:0;}

.site-footer {background:#18422b; color:#fff;}
.footer-main {display:grid; grid-template-columns:2fr repeat(4,1fr) 1.4fr; gap:42px; max-width:1400px; margin:0 auto; padding:65px 42px 55px;}
.footer-brand {max-width:270px;}
.footer-logo {font-family:Georgia,"Times New Roman",serif; font-size:27px; color:#fff;}
.footer-logo:hover {color:#fff; text-decoration:none;}
.footer-brand > p {margin:8px 0 17px; font-size:9px; font-weight:700; letter-spacing:1.2px; color:#b9cfbb;}
.footer-brand > span {display:block; font-size:12px; line-height:1.6; color:#b8c7ba;}
.footer-column {display:flex; flex-direction:column; gap:10px;}
.footer-column h4, .footer-app h4 {margin:0 0 7px; font-size:13px; color:#fff;}
.footer-column a {color:#b8c7ba; font-size:12px;}
.footer-column a:hover {color:#fff; text-decoration:none;}
.footer-app strong {display:block; margin-bottom:6px; font-family:Georgia,"Times New Roman",serif; font-size:18px; color:#dbe8d9;}
.footer-app p {margin:0; font-size:11px; color:#9eb1a1;}
.footer-bottom {display:flex; justify-content:space-between; max-width:1400px; margin:0 auto; padding:20px 42px; border-top:1px solid rgba(255,255,255,.12); color:#93a997; font-size:11px;}


/* ===== MyOwn Farm Footer ===== */
.farm-footer {background:#772e25; color:#fff;}
.farm-footer a {color:#fff;}
.farm-footer-main {display:grid; grid-template-columns:2fr 1.05fr .8fr 1.15fr 1.35fr; gap:44px; max-width:1450px; margin:0 auto; padding:48px 42px 36px; align-items:start;}
.footer-brand-block {display:flex; align-items:flex-start;}
.footer-brand-image {display:block; width:100%; max-width:330px; height:auto;}
.footer-link-group, .footer-social-block, .footer-app-block, .footer-market-block {min-width:0;}
.footer-link-group h4, .footer-social-block h4, .footer-app-block h4, .footer-market-block h4 {margin:0 0 10px; color:#fff; font-size:15px; font-weight:700;}
.footer-link-group {display:flex; flex-direction:column; gap:5px;}
.footer-link-group a {font-size:14px; line-height:1.35; color:rgba(255,255,255,.90); text-decoration:none;}
.footer-link-group a:hover {color:#fff; text-decoration:underline;}
.footer-divider-left {border-left:1px solid rgba(255,255,255,.65); padding-left:42px;}
.footer-social-icons {display:flex; align-items:center; gap:20px; padding-top:4px;}
.footer-social-icons a {display:block; line-height:0;}
.footer-social-icons img {display:block; width:29px; height:29px; object-fit:cover; border:0;}
.footer-market-link {display:inline-flex; align-items:center; gap:12px; font-size:14px; color:#fff !important; text-decoration:none !important;}
.footer-market-link span {font-size:19px; line-height:1;}
.footer-market-link:hover {text-decoration:underline !important;}
.footer-market-block p {margin:24px 0 0; color:rgba(255,255,255,.90); font-size:14px;}
.farm-footer-bottom {display:flex; justify-content:space-between; gap:30px; max-width:1450px; margin:0 auto; padding:18px 42px 22px; border-top:1px solid rgba(255,255,255,.72); color:rgba(255,255,255,.90); font-size:13px;}

@media (max-width:1100px) {.farm-footer-main {grid-template-columns:1.8fr 1fr 1fr;}.farm-footer-main .footer-social-block,.farm-footer-main .footer-market-block {border-left:0; padding-left:0;}}
@media (max-width:700px) {.farm-footer-main {grid-template-columns:1fr 1fr; gap:32px 24px; padding:38px 20px 30px;}.farm-footer-main .footer-brand-block {grid-column:1 / -1;}.farm-footer-main .footer-brand-image {max-width:285px;}.farm-footer-main .footer-social-block,.farm-footer-main .footer-market-block {grid-column:1 / -1;}.farm-footer-bottom {flex-direction:column; gap:5px; padding:18px 20px 22px;}.footer-divider-left {border-left:0; padding-left:0;}}

/* =========================================================
   MYOWN.FARM HEADER
   ========================================================= */

.farm-header {background:#18422b; border-bottom:1px solid rgba(255,255,255,.15);}
.farm-header .site-header {height:86px; max-width:1200px; margin:0 auto; padding:0 42px;}
.farm-header .brand {display:flex; align-items:center;}
.farm-header .brand img {width:220px; height:auto; max-height:68px; display:block; object-fit:contain;}
.farm-header nav a {color:#fff; font-weight:600;}
.farm-header nav a:hover {color:#f0c8bf; text-decoration:none;}
.farm-header-actions {display:flex; align-items:center; gap:10px;}
.farm-login, .farm-join {display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 16px; border-radius:6px; font-size:14px; font-weight:700; white-space:nowrap; text-decoration:none;}
.farm-login {color:#fff; border:1px solid rgba(255,255,255,.65); background:transparent;}
.farm-login:hover {background:rgba(255,255,255,.08); text-decoration:none;}
.farm-join {color:#fff; border:1px solid #873126; background:#873126;}
.farm-join:hover {color:#fff; background:#72291f; border-color:#72291f; text-decoration:none;}

.catalog-stats {display:grid;grid-template-columns:repeat(5,1fr);max-width:1200px;margin:0 auto;background:#fff;border-bottom:1px solid #deddd6;}
.catalog-stat {padding:26px 18px;text-align:center;border-right:1px solid #deddd6;}
.catalog-stat:last-child {border-right:0;}
.catalog-stat strong {display:block;margin-bottom:3px;font-family:'Fraunces',Georgia,serif;font-size:31px;line-height:1;color:#173c25;}
.catalog-stat span {display:block;color:#687069;font-size:12px;font-weight:700;letter-spacing:.3px;}

.desktop-nav > a, .nav-dropdown-toggle {color:#fff; text-decoration:none; font-weight:600; white-space:nowrap;}
.desktop-nav > a:hover, .nav-dropdown-toggle:hover {color:#b9df8f;}
.nav-dropdown {position:relative;}
.nav-arrow {font-size:11px; margin-left:4px;}
.nav-dropdown-menu {position:absolute; top:100%; left:0; min-width:240px; padding:8px 0; background:#fff; border-radius:8px; box-shadow:0 8px 25px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; z-index:1000;}
.nav-dropdown:hover .nav-dropdown-menu {opacity:1; visibility:visible; transform:translateY(0);}
.nav-dropdown-menu a {display:block; padding:10px 16px; color:#123f2b !important; text-decoration:none; font-size:14px; font-weight:600;}
.nav-dropdown-menu a:hover {background:#f0f6ec; color:#123f2b !important;}
.mobile-nav-section {margin-top:16px; padding:10px 4px 6px; color:#6d8b72; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px;}

@media (max-width:800px) {
    .catalog-stats {grid-template-columns:repeat(2,1fr);}
    .catalog-stat {border-bottom:1px solid #deddd6;}
}

@media (max-width:480px) {
    .catalog-stats {grid-template-columns:1fr;}
    .catalog-stat {border-right:0;}
}

@media(max-width:1100px){.footer-main {grid-template-columns:2fr repeat(2,1fr);}}
@media(max-width:1100px){.farm-footer-main {grid-template-columns:1.8fr 1fr 1fr;}}
@media(max-width:1100px){.farm-footer-main .footer-social-block,.farm-footer-main .footer-market-block {border-left:0; padding-left:0;}}
@media(max-width:1000px){.site-header {gap:16px; padding:0 18px;}}
@media(max-width:1000px){.site-header nav {gap:14px;}}
@media(max-width:1000px){.brand img {width:215px;}}
@media(max-width:820px){.site-header {position:relative; height:72px; min-height:72px; flex-wrap:nowrap; padding:0 18px;}}
@media(max-width:820px){.site-header .brand {position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}}
@media(max-width:820px){.site-header .desktop-nav {display:none;}}
@media(max-width:820px){.nav-control {flex:0 0 auto; margin-left:auto;}}
@media(max-width:820px){.mobile-nav-toggle {display:block;}}
@media(max-width:820px){.brand img {width:205px; max-height:56px;}}
@media(max-width:700px){.site-header {padding:0 18px;}}
@media(max-width:700px){h1 {font-size:31px;}}
@media(max-width:700px){.join-page, .login-page, .product-form {padding:22px;}}
@media(max-width:700px){.farm-footer-main {grid-template-columns:1fr 1fr; gap:32px 24px; padding:38px 20px 30px;}}
@media(max-width:700px){.farm-footer-main .footer-brand-block {grid-column:1 / -1;}}
@media(max-width:700px){.farm-footer-main .footer-brand-image {max-width:285px;}}
@media(max-width:700px){.farm-footer-main .footer-social-block,.farm-footer-main .footer-market-block {grid-column:1 / -1;}}
@media(max-width:700px){.farm-footer-bottom {flex-direction:column; gap:5px; padding:18px 20px 22px;}}
@media(max-width:700px){.footer-divider-left {border-left:0; padding-left:0;}}
@media(max-width:650px){.footer-main {grid-template-columns:1fr 1fr; padding:45px 20px;}}
@media(max-width:650px){.footer-brand {grid-column:1 / -1;}}
@media(max-width:650px){.footer-app {grid-column:1 / -1;}}
@media(max-width:650px){.footer-bottom {padding:20px; flex-direction:column; gap:6px;}}
@media(max-width:650px){.farm-header .site-header {height:72px; padding:0 18px;}}
@media(max-width:650px){.farm-header .brand img {width:185px; max-height:58px;}}