/* Shared control geometry, routing and category filters. */
html{scroll-behavior:auto}
.catalog-category-ribbon{grid-template-columns:repeat(9,minmax(0,1fr))}
.catalog-category-chip{padding-right:8px;padding-left:8px;font-size:12px}
.primary-btn,.secondary-btn,.outline-btn,.catalog-search-submit,.steps-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;line-height:1.2;text-align:center;box-sizing:border-box;vertical-align:middle}
.primary-btn>.icon,.secondary-btn>.icon,.outline-btn>.icon,.steps-action>.icon{position:static;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;font-size:20px;line-height:1}
.secondary-btn{min-height:52px;padding:0 22px;color:#173f34;font-weight:800}
.learn-more-btn{width:max-content;max-width:100%;color:#173f34!important;background:#fff}
.final-cta .secondary-btn{height:52px;min-height:52px;align-self:start;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;color:#173f34;font-size:15px;line-height:1.2;white-space:nowrap}
.hero-search button[type=submit]{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px}
.hero-search button[type=submit]>.icon{font-size:20px;line-height:1;flex:0 0 auto}
.breadcrumbs{width:100%;max-width:100%;display:flex;flex-wrap:nowrap;gap:9px;align-items:center;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;overscroll-behavior-x:contain}
.breadcrumbs::-webkit-scrollbar{display:none}
.breadcrumbs>*{flex:0 0 auto;white-space:nowrap;max-width:none}
.filter-panel{display:flex;flex-direction:column;padding:0!important;min-width:0;height:var(--filter-height,calc(100dvh - 130px));max-height:calc(100dvh - 130px);overflow:hidden!important}
.filter-toggle{display:none!important}
.filter-panel .filter-head{position:static!important;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;min-width:0;margin:0!important;padding:17px 18px!important;border-bottom:1px solid #ece5da;background:#fff}
.filter-head h2{font-size:21px;margin:0}
.filter-head-actions{display:flex;gap:8px;align-items:center}
.filter-panel .filter-reset{min-height:34px;padding:6px 11px;border:0;border-radius:10px;background:#f3f0e9;color:#55625b;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}
.filter-panel .filter-reset:hover{color:#173f34;background:#e6f3ed}
.filter-scroll{min-height:0;min-width:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 18px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ded6c9 transparent}
.filter-scroll>*{max-width:100%;min-width:0}
.filter-footer{flex:0 0 auto;min-width:0;padding:12px 14px;border-top:1px solid #e9e1d5;background:#fff}
.filter-panel .filter-submit{position:static!important;display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:100%!important;min-height:48px;height:auto;margin:0!important;padding:12px 14px!important;border:0!important;border-radius:13px;box-sizing:border-box!important;font-size:13px;line-height:1.2}
.filter-submit>span{min-width:0;display:flex;align-items:center;gap:8px}
.filter-submit b{min-width:24px;padding:4px 6px;border-radius:7px;background:#ffffff26;font-size:11px}
.filter-panel .filter-close{display:none}
.filter-panel .check-row{display:flex;align-items:center;min-width:0;gap:8px;font-size:13px;line-height:1.3}
.check-row input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#173f34}
.filter-group h3{font-size:14px}
.filter-panel .price-pair{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.filter-panel .price-input{min-width:0;width:100%;height:44px;padding:0 10px;appearance:textfield}
.price-input::-webkit-inner-spin-button,.price-input::-webkit-outer-spin-button{appearance:none;margin:0}
.facet-group{min-width:0;border-bottom:1px solid #e9e1d5;padding:12px 0}
.facet-group summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:14px;font-weight:800;line-height:1.35}
.facet-group summary::-webkit-details-marker{display:none}
.facet-group summary>span{margin-left:auto;color:#168365;font-size:12px}
.facet-group summary>.icon{font-size:16px;transition:transform .15s}
.facet-group[open] summary>.icon{transform:rotate(180deg)}
.facet-search{display:flex;align-items:center;gap:7px;margin-top:11px;padding:0 9px;border:1px solid #e5ded4;border-radius:10px;background:#f8f6f0}
.facet-search input{min-width:0;width:100%;height:36px;border:0;padding:0;background:transparent;font-size:12px}
.facet-options{max-height:190px;overflow-y:auto;overflow-x:hidden;margin-top:9px;overscroll-behavior:contain;scrollbar-width:thin}
.facet-option{margin:0!important;padding:7px 0;min-height:33px;cursor:pointer}
.facet-option[hidden]{display:none!important}
.facet-option>span{min-width:0;overflow-wrap:anywhere}
.facet-option>small{margin-left:auto;flex:0 0 auto;color:#87918a;font-size:11px}
.color-swatch{display:block;flex:0 0 auto;width:16px;height:16px;border:1px solid #0002;border-radius:50%}
.filter-backdrop{display:none}
.listing-form .form-field{min-width:0;display:grid;gap:7px;font-size:14px;font-weight:700;margin-bottom:4px}
.listing-form .form-field textarea{min-height:140px;width:100%;padding:12px}
.listing-photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:14px}
.listing-photo-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.listing-status{font-size:14px;line-height:1.4;color:#91523a}
.form-submit button:disabled{opacity:.6;cursor:wait}
.auth-mobile-brand{display:none}
.social-auth{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.social-auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap!important;font-size:14px!important}
.provider-logo{display:block;width:22px;height:22px;object-fit:contain;flex:0 0 22px;fill:none;stroke:none}
.auth-input-wrap input{min-width:0}
.auth-page .auth-form[hidden],.auth-page .auth-message[hidden]{display:none!important}
.auth-card{position:relative}
@media(min-width:821px){.filter-panel{top:108px}.filter-scroll{padding:0 17px}.catalog-layout{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:820px){
  .filter-toggle{display:inline-flex!important}
  .quick-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;max-width:100%!important;overflow:visible!important;margin:12px 0 0!important;padding:0!important}
  .quick-tags b{display:none}
  .quick-tags button{flex:0 0 auto!important;padding:9px 13px!important;font-size:12px!important;line-height:1.2}
  .hero-search button[type=submit]>span{display:none!important}
  .hero-search button[type=submit]>.icon{font-size:21px!important;color:#fff;display:inline-flex!important;width:22px;height:22px}
  .breadcrumbs{padding-top:18px;padding-bottom:8px;font-size:13px;line-height:1.4}
  .filter-panel{position:fixed!important;z-index:85;top:auto!important;bottom:0;left:0;right:0;width:100%;height:min(86dvh,820px);max-height:calc(100dvh - 30px)!important;border:1px solid #e5ddcf;border-radius:24px 24px 0 0;transform:translateY(110%);visibility:hidden;padding:0!important;overflow:hidden!important}
  .filter-panel.open{transform:translateY(0);visibility:visible}
  .filter-panel .filter-head{padding:16px 18px!important}
  .filter-panel .filter-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:#f3f0e9;color:#173f34;border-radius:50%}
  .filter-close .icon{font-size:20px}
  .filter-scroll{padding:0 18px!important}
  .filter-footer{padding:12px 16px max(14px,env(safe-area-inset-bottom))}
  .filter-panel .filter-submit{min-height:48px!important;padding:12px 16px!important;font-size:14px!important}
  .filter-panel .price-input,.facet-search input{font-size:16px!important}
  .facet-search input{height:39px}
  .filter-panel .smart-select-popover{position:relative!important;width:100%!important;left:0!important;right:auto!important;top:4px!important;bottom:auto!important;max-width:100%!important;max-height:340px;overflow:hidden}
  .filter-panel .smart-select-options{max-height:230px!important}
  body.filters-open .filter-backdrop{position:fixed;display:block;inset:0;z-index:80;border:0;background:#18362e66;backdrop-filter:blur(3px)}
  body.filters-open .bottom-nav{display:none!important}
  .market-footer,.home-page .market-footer{margin-top:28px!important;padding-bottom:24px!important}
  .page{padding-bottom:20px!important}
  body[data-view="auth"]{padding:0!important;overflow:hidden!important;background:#fffaf0!important}
  body[data-view="auth"] .topbar,body[data-view="auth"] .bottom-nav,body[data-view="auth"] .mobile-nav{display:none!important}
  body[data-view="auth"] #app{height:100dvh;min-height:0!important;max-height:100dvh;overflow:hidden!important}
  .auth-page{display:flex!important;align-items:center;justify-content:center;width:100%;height:100dvh!important;min-height:0!important;max-height:100dvh;overflow:hidden!important;padding:max(8px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom))!important;gap:0!important}
  .auth-intro{display:none!important}
  .auth-card{width:100%!important;max-width:440px;max-height:100%;min-height:0;margin:0!important;padding:18px!important;display:flex;flex-direction:column;overflow:hidden!important;border-radius:22px!important;box-shadow:0 14px 40px #4b381c12}
  .auth-card-head{position:relative;flex:0 0 auto}
  .auth-mobile-brand{display:block;width:140px;margin:0 auto}
  .auth-mobile-brand img{width:100%;height:auto}
  .auth-back{position:absolute;left:0;top:2px;float:none;min-width:28px;height:28px;display:grid;place-items:center;font-size:0}
  .auth-back .icon{font-size:20px}
  .auth-card-head h2{margin:10px 0 12px!important;font-size:24px!important;line-height:1.15}
  .auth-card-head p{display:none}
  .social-auth{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;flex:0 0 auto}
  .social-auth-btn{min-height:44px!important;height:44px;padding:0 10px!important;font-size:14px!important;border-radius:12px;white-space:nowrap!important}
  .auth-divider{flex:0 0 auto;margin:11px 0!important;font-size:11px;line-height:1}
  .auth-tabs{flex:0 0 auto;padding:4px;gap:4px;border-radius:12px}
  .auth-tabs button{min-height:36px;font-size:12px;line-height:1.1}
  .auth-form{min-height:0;flex:0 1 auto;overflow-y:auto;overscroll-behavior:contain;gap:10px!important;margin-top:14px!important;padding:0 2px 2px;scrollbar-width:thin}
  .auth-form label{gap:5px;font-size:12px}
  .auth-input-wrap{min-height:44px!important;height:44px;grid-template-columns:20px minmax(0,1fr);gap:7px;padding:0 10px;border-radius:11px}
  .auth-input-wrap.password-wrap{grid-template-columns:20px minmax(0,1fr) 30px}
  .auth-input-wrap input{min-height:0!important;height:40px!important;padding:0!important;font-size:16px!important}
  .auth-input-wrap .icon{font-size:18px}
  .password-toggle{width:30px;height:34px;padding:0}
  .auth-submit{min-height:44px;height:44px;border-radius:12px;font-size:14px}
  .auth-form small{font-size:11px;line-height:1.35}
  .auth-link{min-height:23px;font-size:12px}
  .auth-legal{flex:0 0 auto;margin:12px auto 0!important;font-size:10px;line-height:1.35}
  .auth-message{flex:0 0 auto;max-height:64px;overflow:auto;margin:10px 0 0;padding:8px 10px;font-size:12px;line-height:1.3}
}
@media(max-width:820px) and (max-height:700px){
  .auth-page{padding:6px 10px!important}
  .auth-card{padding:13px!important;border-radius:18px!important}
  .auth-mobile-brand{width:112px}
  .auth-card-head h2{font-size:21px!important;margin:7px 0 9px!important}
  .auth-divider{margin:8px 0!important}
  .auth-form{gap:7px!important;margin-top:10px!important}
  .auth-form label{gap:3px;font-size:11px}
  .auth-input-wrap{height:41px;min-height:41px!important}
  .auth-input-wrap input{height:38px!important}
  .auth-legal{margin-top:8px!important;font-size:9px}
}
@media(max-width:820px) and (max-height:620px){
  .auth-card{padding:10px 13px!important}
  .auth-mobile-brand{width:94px}
  .auth-card-head h2{margin:5px 0 8px!important;font-size:20px!important}
  .social-auth-btn{height:40px;min-height:40px!important}
  .auth-divider{margin:6px 0!important}
  .auth-tabs button{min-height:32px}
  .auth-form{gap:6px!important;margin-top:8px!important}
  .auth-input-wrap{height:38px;min-height:38px!important}
  .auth-input-wrap input{height:36px!important}
  .auth-legal{margin-top:6px!important;font-size:8px;line-height:1.25}
}
