@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:'Source Sans 3',Arial,sans-serif; background:#f5f4ef; color:#252b25; line-height:1.5;margin:0;}
a {color:#35613d; text-decoration:none; font-family:'Fraunces'}
a:hover {text-decoration:underline;}
main {max-width:1200px; margin:0 auto;}
h1,h2,h3,h4,h5,h6 {font-family:'Fraunces',Georgia,serif; color:#203c26; line-height:1.15; margin-top:0;}
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;}

/* BUTTONS + INPUTS */
button, input[type=submit] {border:0; background:#35613d; color:#fff; padding:12px 22px; border-radius:7px; font-size:15px; font-weight:600; cursor:pointer; font-family:'Fraunces'}
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;}

/* FORMS */
.form-field {margin-bottom:16px; font-family:'Source Sans 3',Arial,sans-serif;}
.form-field label {display:block; margin-bottom:5px; font-size:12px; font-weight:700; color:#294d34; font-family:'Source Sans 3',Arial,sans-serif;}
.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;}

/* ACCOUNT PAGES */
.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-page {max-width:480px; margin:50px auto;}
.login-page > p:first-of-type, .join-page > p:first-of-type {margin-top:0; margin-bottom:28px;}
#MainPageContent_lblMessage {display:block; margin-bottom:20px; font-weight:600; color:#35613d;}

/* HEADER */
header {position:relative; z-index:100; background:#f5f4ef; border-bottom:1px solid #dddcd5;}
.site-header {position:relative; z-index:101; height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; max-width:1200px; margin:0 auto; padding:0 28px;}
.brand img {width:250px; max-height:64px; height:auto; display:block; object-fit:contain;}
.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:center; flex:1;}
.site-header nav {display:flex; align-items:center; justify-content:center; gap:24px; flex:1; white-space:nowrap;}
.site-header nav a {margin-left:0; text-decoration:none;}
.site-header .desktop-nav {display:flex; align-items:center; justify-content:center; gap:24px; flex:1; white-space:nowrap;}
.site-header .desktop-nav a {margin:0; text-decoration:none;}
.header-actions {display:flex; align-items:center; gap:10px; white-space:nowrap;}

/* MOBILE NAV */
.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:'Fraunces',Georgia,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 HEADINGS */
.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-size:35px; color:#173c25;}
.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 + PROFILE */
.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;}

/* LEGACY / GENERAL FOOTER */
.site-footer {background:#173c25; 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:'Fraunces',Georgia,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:'Fraunces',Georgia,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 MARKET FOOTER */
.market-footer {background:#18422A; color:#fff;}
.market-footer a {color:#fff;}
.market-footer-main {display:grid; grid-template-columns:2.1fr .85fr .85fr 1.15fr 1.5fr; 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-app-block p {margin:0 0 15px; color:rgba(255,255,255,.88); font-size:13px;}
.footer-store-buttons {display:flex; gap:10px; flex-wrap:wrap;}
.store-badge {display:flex; flex-direction:column; justify-content:center; min-width:112px; min-height:38px; padding:5px 10px; border:1px solid rgba(255,255,255,.8); border-radius:6px; background:#050505; color:#fff !important; text-decoration:none !important; line-height:1.05;}
.store-badge .store-small {font-size:8px; letter-spacing:.15px;}
.store-badge strong {font-size:15px; font-weight:600;}
.market-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,.88); font-size:13px;}

/* RESPONSIVE */
@media (max-width:1100px) {.footer-main {grid-template-columns:2fr repeat(2,1fr);}}
@media (max-width:1100px) {.market-footer-main {grid-template-columns:1.8fr 1fr 1fr;}.market-footer-main .footer-social-block,.market-footer-main .footer-app-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) {header {position:relative; z-index:1000;}}
@media (max-width:820px) {.site-header {position:relative; z-index:1001; 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) {.header-actions {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:820px) {main {position:relative; z-index:1;}}
@media (max-width:820px) {.market-hero-shell {position:relative; z-index:1;}}
@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) {.market-footer-main {grid-template-columns:1fr 1fr; gap:32px 24px; padding:38px 20px 30px;}.market-footer-main .footer-brand-block {grid-column:1 / -1;}.market-footer-main .footer-brand-image {max-width:285px;}.market-footer-main .footer-social-block,.market-footer-main .footer-app-block {grid-column:1 / -1;}.market-footer-bottom {flex-direction:column; gap:5px; padding:18px 20px 22px;}.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;}}