:root{--ff-agave-900: #14201a;--ff-agave-800: #11401e;--ff-agave-700: #1a6b33;--ff-agave-600: #1e8a3f;--ff-agave-500: #23a84b;--ff-agave-400: #5bd074;--ff-agave-300: #8fe6a3;--ff-agave-100: #d6f5de;--ff-bone: #f5f1e8;--ff-sand: #e6dbc6;--ff-ash: #b7ae9b;--ff-ink: #14201a;--ff-clay: #c25e3a;--ff-marigold: #e2a33c;--ff-line: #e0d6c2;--ff-muted: #5c665e;--ff-card: #ffffff;--ff-page: var(--ff-bone);--ff-text: var(--ff-ink);--ff-accent: var(--ff-agave-700);--font-display: "Space Grotesk", system-ui, sans-serif;--font-text: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}[data-theme=dark]{--ff-page: #141b17;--ff-card: #1d2620;--ff-line: #2d3a31;--ff-muted: #9bab9f;--ff-sand: #29332b;--ff-text: #eaf2ec;--ff-accent: #5bd074;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:var(--font-text);background:var(--ff-page);color:var(--ff-text)}::selection{background:var(--ff-clay);color:var(--ff-bone)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ff-text)}a{color:var(--ff-agave-600)}.ff-header{background:var(--ff-agave-800);color:var(--ff-bone);padding:12px clamp(14px,3vw,24px);display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:10}.ff-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}.ff-wordmark{display:flex;flex-direction:column;line-height:.86;gap:4px}.ff-wordmark-main{font:700 19px/1 var(--font-display);letter-spacing:.01em;color:var(--ff-bone)}.ff-wordmark-sub{font:500 11px/1 var(--font-display);letter-spacing:.34em;color:var(--ff-agave-300);padding-left:.34em}.ff-search{flex:1;max-width:560px}.ff-search input{width:100%;height:40px;border:none;border-radius:20px;padding:0 16px;font-size:14px;font-family:var(--font-text);background:var(--ff-bone);color:var(--ff-ink)}.ff-sell{background:var(--ff-marigold);color:var(--ff-agave-900);font:700 13px var(--font-text);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:9px 18px;text-decoration:none;flex:none}.ff-hero{background:var(--ff-agave-800);color:var(--ff-bone);padding:18px clamp(16px,4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ff-hero-tag{display:flex;flex-direction:column;gap:4px}.ff-hero-tag b{font:600 clamp(16px,2.4vw,21px) var(--font-display);color:var(--ff-bone);letter-spacing:-.01em}.ff-hero-tag i{font:italic 400 13px var(--font-text);color:var(--ff-agave-400)}.ff-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(143,230,163,.32);border-radius:999px;padding:8px 16px;font:600 12px var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ff-bone)}.ff-arrow{color:var(--ff-marigold)}.ff-dot{width:5px;height:5px;border-radius:50%;background:var(--ff-agave-400)}.ff-wrap{max-width:1100px;margin:0 auto;padding:20px clamp(16px,4vw,24px)}.ff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 800px){.ff-grid{grid-template-columns:repeat(2,1fr)}}.ff-card{background:var(--ff-sand);border:1px solid var(--ff-line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s}.ff-card:hover{border-color:var(--ff-agave-400);box-shadow:0 8px 24px #14201a14;transform:translateY(-2px)}.ff-card-img{aspect-ratio:1 / 1;background:var(--ff-sand);object-fit:cover;width:100%}.ff-card-body{padding:12px 14px}.ff-card-title{font:500 14px/1.3 var(--font-text);color:var(--ff-text)}.ff-price{font:600 17px var(--font-display);color:var(--ff-accent);margin-top:5px;letter-spacing:.005em}@media (max-width: 520px){.ff-grid{grid-template-columns:repeat(2,1fr);gap:10px}.ff-card-body{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px}.ff-price{order:-1;margin-top:0;font-size:16px}.ff-card-title{font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ff-badges{display:none}}.ff-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ff-badge{font:600 11px var(--font-text);letter-spacing:.03em;padding:3px 9px;border-radius:999px}.ff-badge-ship{background:var(--ff-agave-100);color:var(--ff-agave-700)}.ff-badge-local{background:#f4e2d6;color:var(--ff-clay)}.ff-card-media{position:relative}.ff-badge-sold{background:var(--ff-clay);color:#fff;font:700 11px var(--font-text);letter-spacing:.04em;padding:4px 10px;border-radius:999px}.ff-card-sold{position:absolute;top:10px;left:10px;background:var(--ff-clay);color:#fff;font:700 11px var(--font-text);letter-spacing:.04em;padding:4px 10px;border-radius:999px;box-shadow:0 2px 6px #00000040}.ff-card-img-sold{opacity:.78}.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:11px 18px;font:700 15px var(--font-text);cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.ff-btn-green{background:var(--ff-agave-700);color:var(--ff-bone)}.ff-btn-green:hover{background:var(--ff-agave-600)}.ff-btn-outline{background:var(--ff-card);color:var(--ff-accent);border:1px solid var(--ff-accent)}.ff-btn-outline:hover{background:var(--ff-agave-100)}[data-theme=dark] .ff-btn-outline:hover{background:#5bd0741f}.ff-btn:disabled{opacity:.5;cursor:default}.ff-theme-toggle{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid rgba(143,230,163,.4);background:transparent;color:var(--ff-bone);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.ff-theme-toggle:hover{background:#ffffff1a}.ff-field{display:block;margin:12px 0}.ff-field label{display:block;font:500 13px var(--font-text);color:var(--ff-muted);margin-bottom:5px}.ff-field input,.ff-field textarea,.ff-field select{width:100%;padding:10px 12px;border:1px solid var(--ff-line);border-radius:8px;font-size:15px;font-family:var(--font-text);background:var(--ff-card);color:var(--ff-text)}.ff-field input:focus,.ff-field textarea:focus,.ff-field select:focus{outline:none;border-color:var(--ff-agave-600);box-shadow:0 0 0 3px #1e8a3f1f}.ff-footer{background:var(--ff-agave-900);color:var(--ff-bone);text-align:center;padding:44px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}.ff-footer a{color:var(--ff-agave-300)}.ff-footer-tag{font:italic 400 14px var(--font-text);color:var(--ff-agave-400);margin:0}.ff-footer-meta{font:400 13px/1.6 var(--font-text);color:var(--ff-ash);margin:0;max-width:560px}.ff-social{display:inline-flex;align-items:center;justify-content:center;color:var(--ff-agave-300);transition:color .15s,transform .15s}.ff-social:hover{color:var(--ff-agave-100);transform:translateY(-1px)}.ff-gallery{display:flex;flex-direction:column;gap:10px}.ff-gallery-frame{position:relative;width:100%;height:clamp(260px,48vh,460px);background:var(--ff-sand);border:1px solid var(--ff-line);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.ff-gallery-frame img{max-width:100%;max-height:100%;object-fit:contain;display:block}.ff-gallery-empty{aspect-ratio:auto}.ff-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;background:#11401ec7;color:var(--ff-bone);font:700 22px/1 var(--font-display);display:flex;align-items:center;justify-content:center;transition:background .15s}.ff-gallery-nav:hover{background:var(--ff-agave-800)}.ff-gallery-prev{left:10px}.ff-gallery-next{right:10px}.ff-gallery-count{position:absolute;bottom:10px;right:12px;background:#14201ab8;color:var(--ff-bone);font:600 12px var(--font-text);padding:3px 9px;border-radius:999px}.ff-gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap}.ff-thumb{width:60px;height:60px;padding:0;border-radius:8px;overflow:hidden;border:2px solid transparent;background:var(--ff-sand);cursor:pointer}.ff-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ff-thumb-active{border-color:var(--ff-agave-600)}.ff-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ff-filters .ff-input{flex:1 1 160px;min-width:0}.ff-input-price{flex:0 0 110px}.ff-input{padding:10px 12px;border:1px solid var(--ff-line);border-radius:8px;font-size:15px;font-family:var(--font-text);background:var(--ff-card);color:var(--ff-text)}.ff-input:focus{outline:none;border-color:var(--ff-agave-600);box-shadow:0 0 0 3px #1e8a3f1f}
