/* Discovery has its own layout; profile and partner-editor styles stay shared. */
.marketplace { --market-green: #244733; --market-muted: #667260; display: grid; gap: 32px; }
.marketplace :is(h1,h2,h3) { font-family: var(--font-display); }
.marketplace .market-hero { grid-template-columns: minmax(0,1fr) 290px; align-items: center; gap: 44px; padding: 42px; background: #233f30; border: 1px solid #38513a; min-height: 330px; animation: market-enter .6s both; }
.marketplace .market-hero h1 { font-size: clamp(36px,4.2vw,57px); font-weight: 500; line-height: 1.05; letter-spacing: -2.1px; margin: 19px 0 15px; }
.market-hero h1 em { display: block; font-style: normal; color: #d8e5b3; }
.marketplace .market-hero p { margin-bottom: 22px; max-width: 500px; font-size: 13px; }
.market-hero .partner-eyebrow { display: flex; align-items: center; gap: 9px; letter-spacing: 1.4px; }
.market-live-dot { width: 6px; height: 6px; border-radius: 50%; background: #d5e7a5; box-shadow: 0 0 0 5px #d5e7a514; }
.marketplace .market-search { display: flex; padding: 5px; gap: 4px; border-radius: 10px; }
.marketplace .market-search label { flex: 1; padding: 10px 11px; }
.marketplace .market-search input { font-size: 13px; }
.market-search > button { background: #dbe6bb; border: 0; color: #2c4930; font: inherit; font-size: 11px; font-weight: 600; padding: 10px 14px; border-radius: 6px; display: flex; align-items: center; gap: 9px; cursor: pointer; transition: background .2s; }
.market-search > button:hover { background: #c9dc9f; }
.market-search > button ion-icon { font-size: 18px; }
.market-hero-note { display: flex; align-items: center; gap: 7px; color: #bbcdb4; font-size: 10px; margin-top: 15px; }
.market-hero-note ion-icon { font-size: 15px; }
.market-hero-art { position: relative; height: 275px; isolation: isolate; }
.market-hero-art:before,.market-hero-art:after { content: ''; position: absolute; border: 1px solid #bed39324; border-radius: 50%; width: 350px; height: 350px; left: -22px; top: -30px; z-index: -1; }
.market-hero-art:after { width: 260px; height: 260px; left: 23px; top: 15px; border-style: dashed; }
.market-art-caption { position: absolute; top: -3px; left: 15px; font-size: 10px; color: #adc399; letter-spacing: 1px; }
.market-art-card { position: absolute; display: flex; align-items: center; gap: 14px; width: 267px; padding: 17px; border: 1px solid #ffffff3d; border-radius: 13px; box-shadow: 0 12px 24px #10251730; text-align: left; cursor: pointer; font-family: inherit; animation: market-float 6s ease-in-out 2; animation-delay: calc(var(--art-index) * -1.5s); transform: rotate(var(--art-rotate)); }
.market-art-card > span:nth-child(2) { flex: 1; }
.market-art-card small { display: block; text-transform: uppercase; font-size: 8px; letter-spacing: 1.1px; opacity: .75; margin-bottom: 5px; }
.market-art-card strong { font-family: var(--font-display); font-size: 15px; font-weight: 500; }
.market-art-card > ion-icon { font-size: 17px; transform: rotate(-40deg); }
.market-art-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid currentColor; border-radius: 11px; font-size: 23px; flex: none; }
.market-art-catering { --art-rotate: -7deg; top: 35px; left: -12px; color: #6b482a; background: #efdfc4; }
.market-art-lighting { --art-rotate: 5deg; top: 112px; left: 22px; color: #36523b; background: #dae6ba; }
.market-art-media { --art-rotate: -3deg; top: 188px; left: -4px; color: #496050; background: #f4f6ec; }
.market-art-foot { position: absolute; right: 3px; bottom: -24px; display: flex; align-items: center; gap: 8px; color: #c9d8af; font-size: 10px; }
.market-art-card:hover { filter: brightness(1.045); }
.marketplace .market-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.marketplace .market-section-heading h2 { font-size: 21px; font-weight: 500; letter-spacing: -.7px; margin: 0 0 5px; }
.market-section-heading p { margin: 0; font-size: 11px; color: var(--market-muted); }
.marketplace .market-all { flex: none; padding: 9px 12px; gap: 8px; border-radius: 8px; font-size: 10px; background: transparent; border: 1px solid #d5ddcd; color: #5d6f54; }
.marketplace .market-all.active { background: #e8eedf; border-color: #c8d3bd; color: #345035; }
.market-all ion-icon { display: none; font-size: 14px; }
.market-all.active ion-icon { display: block; }
.marketplace .market-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; overflow: visible; }
.marketplace .market-category { position: relative; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; min-width: 0; min-height: 105px; padding: 17px; border-radius: 13px; background: #fffdf7; border: 1px solid #e0e4d8; color: #3a4d34; text-align: left; transition: background .22s,border-color .22s,transform .22s,box-shadow .22s; }
.market-category-icon { width: 34px; height: 34px; border-radius: 9px; background: #edf0e3; display: grid; place-items: center; color: #5d784b; }
.market-category-icon ion-icon { font-size: 21px; }
.market-category:nth-child(3n+1) .market-category-icon { background: #f2e7d5; color: #9a6e3a; }
.market-category:nth-child(3n) .market-category-icon { background: #e3ece6; color: #557667; }
.market-category-name { font-size: 11px; font-weight: 550; line-height: 1.45; padding-right: 15px; }
.market-category-count { position: absolute; right: 16px; top: 15px; font-size: 10px; color: #7a856f; font-variant-numeric: tabular-nums; }
.market-category-check { display: none; position: absolute; right: 13px; bottom: 16px; font-size: 14px; }
.marketplace .market-category.active { background: #2f5039; color: #f8f9ef; border-color: #2f5039; box-shadow: 0 4px 12px #203c2a15; }
.market-category.active .market-category-icon { background: #ffffff17; color: #dbe8bc; }
.market-category.active .market-category-count { color: #d4e1c0; }
.market-category.active .market-category-check { display: block; }
.marketplace .market-category:hover { transform: translateY(-3px); border-color: #8fa47d; box-shadow: 0 6px 14px #243b2410; }
.marketplace .market-directory { display: block; margin: 0; padding: 0; }
.market-filter-trigger { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 10px 15px; border: 1px solid #bacbad; border-radius: 10px; background: #edf2e4; color: #34522d; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .2s,box-shadow .2s; }
.market-filter-trigger:hover,.market-filter-trigger.has-filters { background: #e0eacf; border-color: #8ea57a; box-shadow: 0 3px 10px #24473312; }
.market-filter-trigger > ion-icon { font-size: 19px; flex: none; }
.market-filter-badge { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 50%; background: #34522d; color: white; font-size: 10px; }
.market-filter-badge[hidden] { display: none; }
body.market-filters-open { overflow: hidden; }
.market-filter-dialog { margin: auto; padding: 0; width: min(560px,calc(100% - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); border: 1px solid #dce4d2; border-radius: 22px; background: #fffdf8; color: #2f452b; box-shadow: 0 28px 100px #152d3240; overflow: hidden; }
.market-filter-dialog[open] { display: flex; flex-direction: column; animation: market-enter .2s ease-out both; }
.market-filter-dialog::backdrop { background: #15251b8f; backdrop-filter: blur(5px); }
.market-filter-header { display: flex; align-items: flex-start; gap: 14px; padding: 28px 26px 23px; border-bottom: 1px solid #e7ebdf; flex: none; }
.market-filter-emblem { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 13px; background: #e8eedc; color: #49673b; font-size: 23px; }
.market-filter-header > div { flex: 1; min-width: 0; }
.marketplace .market-filter-header h2 { font-size: 21px; line-height: 1.3; font-weight: 500; margin: 0 0 8px; letter-spacing: -.5px; }
.market-filter-header p { margin: 0; color: #6c7862; font-size: 12px; line-height: 1.7; }
.market-filter-close { display: grid; place-items: center; min-width: 36px; min-height: 36px; border: 1px solid #e1e7d8; border-radius: 50%; background: #f5f7ef; color: #526448; font-size: 21px; cursor: pointer; }
.market-filter-close:hover { background: #e8eedc; }
.market-filter-body { padding: 24px 26px; overflow-y: auto; overscroll-behavior: contain; }
.market-filter-field { margin-bottom: 21px; }
.market-filter-field > label { display: block; font-size: 13px; font-weight: 550; color: #526448; margin-bottom: 9px; }
.market-filter-control { display: flex; align-items: center; gap: 7px; padding: 9px; border: 1px solid #dce3d3; border-radius: 7px; background: #f9faf5; }
.market-filter-control > ion-icon { font-size: 16px; color: #7c8c70; flex: none; }
.market-filter-control :is(input,select) { border: 0; outline: 0; background: transparent; color: #3b5133; font: inherit; font-size: 16px; width: 100%; min-width: 0; height: 28px; }
.market-filter-control:focus-within { outline: 2px solid #718b5c; outline-offset: 2px; }
.market-filter-control input::placeholder { color: #7c8873; }
.market-filter-extras { display: grid; gap: 14px; padding: 0; margin: 0 0 20px; border: 0; min-width: 0; }
.market-filter-extras legend { font-size: 13px; font-weight: 550; color: #526448; margin-bottom: 15px; }
.market-filter-extras label { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 13px; line-height: 1.5; min-height: 42px; padding: 9px 12px; border: 1px solid #e1e7d7; border-radius: 9px; }
.market-filter-extras label:has(:checked) { background: #edf3e4; border-color: #a1b88d; }
.market-filter-extras label > span { flex: 1; }
.market-filter-extras input { width: 16px; height: 16px; accent-color: #385b37; margin: 0; flex: none; }
.market-filter-extras ion-icon { color: #809170; font-size: 16px; flex: none; }
.market-reset { padding: 10px 0; background: transparent; border: 0; color: #496c3f; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.market-reset:disabled { color: #829179; opacity: .65; cursor: default; }
.market-filter-tip { display: flex; align-items: flex-start; gap: 9px; padding: 14px 0 0; margin-top: 10px; border-top: 1px solid #e7ebdf; color: #7a856b; }
.market-filter-tip ion-icon { font-size: 17px; flex: none; margin-top: 2px; }
.market-filter-tip p { margin: 0; font-size: 12px; line-height: 1.8; }
.market-filter-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 26px; border-top: 1px solid #e3e9d8; background: #f5f7ef; flex: none; }
.market-filter-footer .btn { min-height: 46px; border-radius: 10px; gap: 10px; font-size: 12px; }
.market-directory-main { min-width: 0; }
.market-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 59px; margin-bottom: 18px; }
.marketplace .market-results-toolbar h2 { margin: 0 0 5px; font-size: 19px; font-weight: 500; }
.marketplace .partner-result-count { margin: 0; font-size: 11px; color: #77826c; }
.market-results-controls { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.market-sort { display: grid; gap: 4px; color: #758268; font-size: 9px; }
.market-sort select { background: transparent; border: 0; font: inherit; font-size: 11px; color: #3f5637; max-width: 160px; padding: 3px 12px 3px 0; cursor: pointer; }
.market-view-toggle { display: flex; border: 1px solid #dce3d4; padding: 3px; border-radius: 8px; background: #fffdf7; flex: none; }
.market-view-toggle button { border: 0; background: transparent; border-radius: 5px; color: #7c8a72; width: 32px; height: 31px; display: grid; place-items: center; cursor: pointer; font-size: 16px; }
.market-view-toggle button[aria-pressed=true] { color: #3c5e32; background: #e8eedf; }
.market-active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 18px; }
.market-active-filters[hidden] { display: none; }
.market-filter-chip { border: 1px solid #d2dec5; border-radius: 6px; display: flex; align-items: center; gap: 8px; padding: 7px 10px; background: #eff3e7; color: #526646; font: inherit; font-size: 10px; cursor: pointer; max-width: 100%; overflow-wrap: anywhere; text-align: left; }
.market-filter-chip ion-icon { font-size: 14px; flex: none; }
.market-filter-chip:hover { border-color: #9cb18a; background: #e4ecd7; }
.market-results { transition: opacity .18s; min-height: 270px; }
.market-results[aria-busy=true] { opacity: .55; pointer-events: none; }
.marketplace .market-results-grid,.marketplace .market-skeleton-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,225px),1fr)); gap: 18px; }
.marketplace .market-partner-card { background: #fffdf8; border-color: #e0e5d8; border-radius: 14px; animation: market-enter .45s both; animation-delay: calc(var(--card-index) * 35ms); }
.marketplace .market-partner-card:hover { transform: translateY(-5px); box-shadow: 0 14px 26px #263f2012; border-color: #bbccac; }
.marketplace .market-partner-card .partner-card-cover { height: 170px; }
.marketplace .market-partner-card .partner-card-cover img { transition: transform .5s; }
.marketplace .market-partner-card:hover .partner-card-cover img { transform: scale(1.045); }
.marketplace .market-partner-card .partner-card-body { padding: 18px; }
.marketplace .market-partner-card .partner-card-title h3 { font-size: 17px; font-weight: 500; line-height: 1.25; }
.marketplace .market-partner-card .partner-card-title > ion-icon { display: none; }
.marketplace .market-partner-card .partner-card-body > p { margin: 13px 0; font-size: 12px; }
.market-card-gallery { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; gap: 5px; font-size: 9px; padding: 5px 7px; background: #16271abf; color: #fff; border-radius: 6px; }
.market-card-gallery ion-icon { font-size: 13px; }
.market-card-area { color: #7c8771; font-size: 10px; line-height: 1.6; margin: 7px 0 0; }
.marketplace .market-partner-card .partner-card-services { margin-top: 12px; padding-top: 12px; }
.marketplace .market-partner-card .partner-card-services span { color: #61764f; background: #edf2e6; padding: 5px 7px; }
.market-card-action { display: flex; justify-content: space-between; align-items: center; font-size: 10px; font-weight: 550; color: #4c6d3b; margin-top: 17px; }
.market-card-action ion-icon { font-size: 16px; transition: transform .2s; }
.market-partner-card:hover .market-card-action ion-icon { transform: translateX(4px); }
.marketplace .market-results-grid.is-list { grid-template-columns: 1fr; }
.marketplace .is-list .market-partner-card { display: grid; grid-template-columns: 190px minmax(0,1fr); }
.marketplace .is-list .market-partner-card .partner-card-cover { height: 100%; min-height: 190px; }
.marketplace .is-list .market-partner-card .partner-card-body > p { min-height: 0; }
.marketplace .is-list .market-card-action { margin-top: 12px; }
.market-skeleton { border-radius: 14px; background: #fffdf8; border: 1px solid #e5e9de; padding-bottom: 28px; overflow: hidden; }
.market-skeleton > div { height: 170px; background: #e7ecdd; }
.market-skeleton > i { display: block; height: 10px; margin: 20px 18px 0; border-radius: 4px; background: #e7ecdd; }
.market-skeleton > i:nth-child(3) { width: 60%; margin-top: 12px; }
.market-skeleton > i:last-child { width: 35%; margin-top: 24px; }
.market-skeleton { animation: market-loading 1.2s ease-in-out infinite alternate; }
.marketplace .partner-empty { background: #f6f8ef; border-color: #cdd8bf; padding: 46px 24px; }
.marketplace .partner-empty h2 { font-size: 22px; font-weight: 500; text-wrap: balance; }
.marketplace .market-join { background: #e6edd8; padding: 28px; gap: 22px; border: 1px solid #d6e0c4; margin: 0; }
.market-join > div { flex: 1; }
.market-join-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 15px; background: #d1dfb9; color: #4e6c3c; font-size: 29px; flex: none; }
.marketplace .market-join h2 { font-size: 25px; font-weight: 500; }
.marketplace .market-join p { line-height: 1.7; }
.market-join .btn { flex: none; }
.marketplace :is(button,a,select,summary):focus-visible { outline: 3px solid #809c64; outline-offset: 4px; }
@keyframes market-enter { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@keyframes market-float { 0%,100% { transform: translateY(0) rotate(var(--art-rotate)); } 50% { transform: translateY(-7px) rotate(var(--art-rotate)); } }
@keyframes market-loading { from { opacity: .55; } to { opacity: 1; } }
@media (max-width: 1100px) {
  .marketplace .market-hero { padding: 32px; gap: 22px; grid-template-columns: minmax(0,1fr) 230px; }
  .market-hero-art { transform: scale(.83); transform-origin: left center; }
  .marketplace .market-category { padding: 14px; }
  .market-results-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
  .market-results-controls { justify-content: space-between; width: 100%; }
}
@media (max-width: 900px) {
  .marketplace .market-hero { grid-template-columns: 1fr; }
  .market-hero-art { display: none; }
  .marketplace .market-hero h1 { font-size: 48px; }
  .marketplace .market-hero p { max-width: 590px; }
}
@media (max-width: 760px) {
  .marketplace { gap: 25px; }
  .marketplace .market-hero { display: block; padding: 30px 24px; min-height: 0; }
  .marketplace .market-hero h1 { font-size: 42px; letter-spacing: -1.6px; }
  .marketplace .market-search { padding: 4px; }
  .marketplace .market-search input { font-size: 16px; }
  .market-search > button { padding: 12px; }
  .market-search > button span { display: none; }
  .market-hero-note { line-height: 1.6; }
  .market-hero-note ion-icon { flex: none; }
  .marketplace .market-section-heading { align-items: flex-start; }
  .marketplace .market-section-heading h2 { font-size: 19px; line-height: 1.3; }
  .market-section-heading p { line-height: 1.6; }
  .marketplace .market-all { min-height: 36px; padding: 8px 10px; max-width: 105px; font-size: 9px; }
  .marketplace .market-categories { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
  .market-category-name { font-size: 10px; padding-right: 0; }
  .marketplace .market-category { padding: 13px; min-height: 106px; gap: 10px; }
  .market-category-check { right: 9px; bottom: auto; top: 42px; }
  .market-category-count { right: 12px; top: 12px; }
  .market-directory-main { width: 100%; }
  .market-results-toolbar { gap: 14px; }
  .market-results-controls { width: 100%; }
  .marketplace .market-results-toolbar h2 { font-size: 17px; }
  .marketplace .market-sort select { max-width: 140px; }
  .marketplace .market-join { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 22px; gap: 15px; }
  .market-join-icon { width: 44px; height: 44px; border-radius: 11px; font-size: 24px; }
  .market-join > div { flex-basis: calc(100% - 62px); }
  .marketplace .market-join h2 { font-size: 22px; }
  .market-join .btn { width: 100%; justify-content: center; min-height: 44px; }
}
@media (max-width: 520px) {
  .marketplace .market-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .market-category-name { font-size: 11px; padding-right: 10px; }
  .marketplace .market-category { min-height: 95px; }
  .market-category-check { top: auto; bottom: 14px; }
  .marketplace .market-results-grid,.marketplace .market-skeleton-grid { grid-template-columns: 1fr; }
  .market-results-toolbar { align-items: flex-start; flex-direction: column; }
  .market-results-controls { width: 100%; }
  .market-filter-trigger { width: 100%; }
  .market-filter-header { padding: 20px 18px; gap: 10px; }
  .market-filter-emblem { display: none; }
  .marketplace .market-filter-header h2 { font-size: 20px; }
  .market-filter-body { padding: 20px 18px; }
  .market-filter-footer { padding: 16px 18px; gap: 10px; }
  .market-filter-footer .btn { padding: 12px; font-size: 11px; }
  .marketplace .market-partner-card .partner-card-cover { height: 190px; }
  .marketplace .is-list .market-partner-card { grid-template-columns: 100px minmax(0,1fr); }
  .marketplace .is-list .market-partner-card .partner-card-cover { min-height: 210px; }
  .marketplace .is-list .market-partner-card .partner-card-body { padding: 13px; }
  .marketplace .is-list .partner-card-category { left: 7px; right: 7px; bottom: 9px; font-size: 8px; padding: 6px; line-height: 1.5; text-align: center; }
  .marketplace .is-list .partner-card-logo,.marketplace .is-list .partner-card-monogram { display: none; }
  .marketplace .is-list .market-card-gallery { right: 7px; left: 7px; justify-content: center; }
  .marketplace .is-list .market-card-gallery span { font-size: 8px; }
  .marketplace .partner-pagination { gap: 10px; }
  .marketplace .partner-pagination button { font-size: 10px; padding: 10px; }
  .marketplace .partner-pagination > span { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .marketplace,.marketplace * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .marketplace .market-category:hover,.marketplace .market-partner-card:hover { transform: none; }
  .marketplace .market-partner-card:hover .partner-card-cover img,.market-partner-card:hover .market-card-action ion-icon { transform: none; }
}
