/* Marketplace styles are scoped below the shared portfolio navigation. */
.etsy-detail { background: #fff; }
.etsy-context { --et-ink: #222; --et-muted: #595959; --et-line: #d9d9d9; --et-orange: #f1641e; color: var(--et-ink); background: #fff; font: 14px/1.5 Inter, "Segoe UI", Arial, sans-serif; }
.etsy-context [hidden] { display: none !important; }
.etsy-context :is(h1,h2,h3,p) { letter-spacing: normal; }
.etsy-context :is(a,button,input,select,summary):focus-visible { outline: 2px solid #222; outline-offset: 4px; }
.etsy-context button, .etsy-context select, .etsy-context input { font: inherit; }
.et-wrap { width: min(1400px, calc(100% - 64px)); margin-inline: auto; }
.et-preview { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 31px; padding: 5px max(32px, calc((100% - 1400px) / 2)); color: #595959; background: #faf9f6; font-size: 11px; border-bottom: 1px solid #eee; }
.et-preview a { text-decoration: underline; text-underline-offset: 3px; }
.et-market-header { display: flex; align-items: center; gap: 22px; min-height: 78px; }
.et-wordmark { color: var(--et-orange); font: 46px/1 Georgia, "Times New Roman", serif; letter-spacing: -2.5px; }
.et-browse { position: relative; flex-shrink: 0; z-index: 24; }
.et-browse summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px; border-radius: 24px; font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
.et-browse summary::-webkit-details-marker { display: none; }
.et-browse summary:hover, .et-browse[open] summary { background: #eee; }
.et-browse svg { width: 18px; height: 18px; }
.et-browse nav { position: absolute; top: calc(100% + 8px); left: 0; min-width: 230px; padding: 8px; border: 1px solid var(--et-line); border-radius: 12px; background: #fff; box-shadow: 0 8px 28px #0002; }
.et-browse nav a { display: block; padding: 14px; border-radius: 6px; }
.et-browse nav a:hover { background: #f5f5f5; }
.et-search { flex: 1; display: flex; align-items: center; min-width: 0; height: 49px; padding: 3px; border: 2px solid #222; border-radius: 28px; background: #fff; }
.et-search:focus-within { box-shadow: 0 0 0 2px #2222; }
.et-search input { width: 100%; min-width: 0; height: 100%; padding: 0 16px; border: 0; border-radius: 24px; background: transparent; outline: none !important; font-size: 16px; }
.et-search button { display: grid; place-items: center; flex-shrink: 0; width: 39px; height: 39px; border: 0; border-radius: 50%; color: #fff; background: #222; }
.et-search svg { width: 22px; height: 22px; }
.et-saved-link { position: relative; display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%; }
.et-saved-link:hover { background: #eee; }
.et-saved-link svg { width: 25px; height: 25px; }
.et-saved-link span { position: absolute; top: 0; right: 0; min-width: 18px; padding: 0 3px; border-radius: 9px; color: #fff; background: #222; text-align: center; font-size: 10px; }
.et-market-nav { display: flex; align-items: center; justify-content: center; gap: 46px; min-height: 44px; padding: 0 20px; border-bottom: 2px solid #e8e8e8; }
.et-market-nav a { display: inline-flex; align-items: center; min-height: 43px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.et-market-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.et-shop-banner { display: grid; grid-template-columns: 1fr 1fr; height: 120px; overflow: hidden; margin-top: 20px; }
.et-shop-banner:has(img:only-child) { grid-template-columns: 1fr; }
.et-banner-image { width: 100%; height: 120px; object-fit: cover; object-position: center 44%; }
.et-shop-identity { display: flex; align-items: center; gap: 20px; padding: 20px 0; }
.et-avatar { display: grid; place-items: center; flex: 0 0 76px; width: 76px; height: 76px; border-radius: 6px; color: #274134; background: #eeeae1; font: 30px/1 Georgia, serif; }
.et-shop-identity h1 { margin: 0 0 2px; font-size: 30px; font-weight: 650; line-height: 1.25; }
.et-shop-identity p { margin: 0; font-size: 15px; }
.et-shop-identity span { display: block; margin-top: 4px; color: var(--et-muted); font-size: 13px; }
.et-about-link { margin-left: auto; padding: 12px 18px; border: 2px solid #222; border-radius: 25px; font-weight: 600; white-space: nowrap; }
.et-about-link:hover { background: #f5f5f5; }
.et-shop-tabs { display: flex; align-items: center; gap: 32px; min-height: 52px; border-bottom: 1px solid var(--et-line); }
.et-shop-tabs a { display: inline-flex; align-items: center; min-height: 52px; border-bottom: 3px solid transparent; }
.et-shop-tabs a[aria-current] { border-color: #222; font-weight: 600; }
.et-shop-tabs a span { margin-left: 7px; color: var(--et-muted); }
.et-catalog { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 32px; padding-block: 26px 45px; }
.et-shop-sidebar h2 { margin: 0 0 12px; font-size: 16px; font-weight: 650; }
.et-shop-sidebar > p { margin: 26px 16px 0 0; color: var(--et-muted); font-size: 12px; line-height: 1.6; }
.et-categories { display: flex; flex-direction: column; gap: 3px; }
.et-categories button { display: flex; justify-content: space-between; gap: 8px; min-height: 45px; padding: 10px 12px; border: 0; border-radius: 6px; text-align: left; background: transparent; }
.et-categories button:hover { background: #f4f4f4; }
.et-categories button[aria-pressed="true"] { background: #f1f1f1; font-weight: 650; }
.et-categories button span:last-child { color: #707070; font-size: 12px; }
.et-results { min-width: 0; }
.et-results-heading { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 42px; margin-bottom: 18px; }
.et-results-heading h2 { margin: 0; font-size: 16px; font-weight: 650; }
.et-results-heading p { margin: 0; color: var(--et-muted); font-size: 12px; }
.et-sort { display: flex; align-items: center; gap: 7px; margin-left: auto; font-size: 12px; }
.et-sort select { max-width: 200px; min-height: 40px; padding: 8px 28px 8px 10px; border: 1px solid var(--et-line); border-radius: 22px; color: #222; background: #fff; }
.et-mobile-categories { display: none; }
.et-active-filters { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 10px 12px; border-radius: 8px; background: #faf9f6; }
.et-active-filters span { overflow-wrap: anywhere; }
.et-active-filters button { flex-shrink: 0; margin-left: auto; min-height: 38px; padding: 5px 10px; border: 0; border-radius: 20px; font-size: 12px; background: #eee; }
.project-grid.et-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 20px; margin: 0; }
.et-card { position: relative; min-width: 0; }
.et-card-link { display: block; }
.et-card-media { position: relative; overflow: hidden; aspect-ratio: 4/3; border-radius: 3px; background: #f4f1ed; transition: box-shadow .18s ease; }
.et-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .22s ease; }
.et-card-link:hover .et-card-media { box-shadow: 0 4px 14px #0002; }
.et-card-link:hover img { transform: scale(1.025); }
.et-card h3 { margin: 9px 0 2px; font-size: 14px; line-height: 1.4; font-weight: 450; }
.et-card-link:hover h3 { text-decoration: underline; }
.et-card p { margin: 0 0 3px; color: var(--et-muted); font-size: 12px; }
.et-card strong { font-size: 14px; font-weight: 650; }
.et-favorite { position: absolute; top: 8px; right: 8px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ddd; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px #0001; transition: transform .18s; }
.et-favorite svg { width: 20px; height: 20px; }
.et-favorite:hover { transform: scale(1.08); }
.et-favorite[aria-pressed="true"] { color: #a61c00; }
.et-favorite[aria-pressed="true"] svg { fill: currentColor; }
.et-demo { position: absolute; right: 7px; bottom: 7px; left: 7px; padding: 6px; color: #fff; background: #853126; font-size: 12px; }
.et-empty { padding: 55px 20px; text-align: center; }
.et-empty button { min-height: 44px; padding: 10px 20px; border: 1px solid #222; border-radius: 25px; background: #fff; }
.et-save-status { color: var(--et-muted); font-size: 12px; }
.et-save-status:empty { display: none; }
.et-footer { margin-top: 30px; padding: 35px 0; border-top: 1px solid #ddd; background: #faf9f6; }
.et-footer > div { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.et-footer .et-wordmark { font-size: 36px; }
.et-footer p { color: var(--et-muted); font-size: 12px; }
.et-footer nav { display: flex; flex-direction: column; gap: 5px; }
.et-footer nav a { min-height: 36px; padding-block: 8px; font-size: 13px; }
.et-footer nav a:hover { text-decoration: underline; }
.et-breadcrumbs { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 22px 0; font-size: 12px; }
.et-breadcrumbs a:hover { text-decoration: underline; }
.et-product { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: 42px; align-items: start; }
.et-product-media { min-width: 0; }
.et-product-summary { min-width: 0; }
.et-project-type { display: inline-block; margin: 0 0 8px; color: #395745; font-size: 13px; }
.et-product-summary h1 { margin: 0 0 8px; font-size: 27px; line-height: 1.25; font-weight: 500; }
.et-byline { margin: 0 0 16px; font-size: 13px; }
.et-byline a { text-decoration: underline; text-underline-offset: 3px; }
.et-summary { font-size: 15px; line-height: 1.6; margin: 20px 0; }
.et-view-select { display: block; margin: 18px 0; font-size: 14px; font-weight: 550; }
.et-view-select select { display: block; width: 100%; min-height: 49px; margin-top: 6px; padding: 10px 36px 10px 14px; border: 1px solid #aaa; border-radius: 6px; background: #fff; box-shadow: 0 1px 3px #0001; }
.et-primary-action { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 49px; padding: 12px 16px; border-radius: 28px; background: #222; color: #fff; font-size: 15px; font-weight: 600; text-align: center; }
.et-primary-action svg { width: 19px; height: 19px; flex-shrink: 0; }
.et-primary-action:hover { background: #444; }
.et-original-note { color: var(--et-muted); font-size: 12px; line-height: 1.6; }
.et-details { margin-top: 26px; border-top: 1px solid var(--et-line); }
.et-details summary, .et-description summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 60px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 550; }
.et-details summary::-webkit-details-marker, .et-description summary::-webkit-details-marker { display: none; }
.et-details summary::after, .et-description summary::after { content: '+'; font-size: 24px; font-weight: 400; }
.et-details[open] summary::after, .et-description[open] summary::after { content: '−'; }
.et-details h2 { margin: 8px 0 14px; font-size: 14px; font-weight: 600; }
.et-details dl { margin: 0; }
.et-details dl div { display: grid; grid-template-columns: minmax(105px,.8fr) minmax(0,1fr); gap: 18px; margin: 12px 0; font-size: 13px; }
.et-details dt { color: var(--et-muted); }
.et-details dd { margin: 0; overflow-wrap: anywhere; }
.et-no-sale { margin: 20px 0 0; color: var(--et-muted); font-size: 12px; }
.et-gallery { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 14px; }
.et-thumbnails { display: flex; flex-direction: column; gap: 8px; max-height: 600px; overflow-y: auto; scrollbar-width: thin; }
.et-thumbnails a { position: relative; flex-shrink: 0; display: grid; place-items: center; width: 60px; height: 60px; border: 2px solid transparent; border-radius: 6px; opacity: .65; }
.et-thumbnails a:hover, .et-thumbnails a[aria-current="true"] { opacity: 1; border-color: #222; }
.et-thumbnails img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; }
.et-thumbnails span { position: absolute; bottom: 2px; right: 2px; width: 20px; height: 20px; padding: 2px; border-radius: 3px; background: #fff; }
.et-thumbnails span svg { display: block; width: 100%; height: 100%; }
.et-gallery-main { min-width: 0; }
.et-stage { position: relative; background: #faf9f6; border-radius: 8px; overflow: hidden; }
.et-frame { display: block; width: 100%; aspect-ratio: 4/3; }
.et-frame:not(:first-child) { display: none; }
.et-gallery.is-enhanced .et-frame:not([hidden]) { display: block; }
.et-frame img { width: 100%; height: 100%; object-fit: contain; }
.et-gallery-controls { display: none; }
.et-gallery.is-enhanced .et-gallery-controls { display: flex; justify-content: space-between; align-items: center; position: absolute; inset: 50% 12px auto; transform: translateY(-50%); pointer-events: none; }
.et-gallery-controls button { pointer-events: auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0 0 4px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 6px #0002; font-size: 30px; line-height: 1; }
.et-gallery-caption { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 54px; color: var(--et-muted); font-size: 12px; }
.et-gallery-caption a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.et-gallery-caption svg { width: 15px; height: 15px; }
.et-media-error { padding: 10px 14px; background: #fff4ed; font-size: 13px; }
.et-lower { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(0,1fr); gap: 42px; padding-block: 28px 55px; }
.et-description { padding-bottom: 22px; border-block: 1px solid var(--et-line); }
.et-description section { max-width: 720px; }
.et-description h3 { margin: 18px 0 5px; font-size: 15px; font-weight: 650; }
.et-description p { margin: 0; font-size: 14px; line-height: 1.75; }
.et-description .et-tools { margin-top: 20px; color: var(--et-muted); font-size: 12px; }
.et-designer { display: flex; align-items: start; gap: 18px; padding: 28px 0 0; }
.et-designer .et-avatar { flex-basis: 56px; width: 56px; height: 56px; font-size: 24px; }
.et-designer h2 { margin: 0 0 4px; font-size: 18px; font-weight: 550; }
.et-designer a { text-decoration: underline; text-underline-offset: 3px; }
.et-infographics { padding: 26px 0; border-bottom: 1px solid var(--et-line); }
.et-infographics h2 { margin: 0 0 18px; font-size: 20px; }
.et-infographics > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.et-infographics a { display: block; border: 1px solid #e5dfd3; border-radius: 8px; overflow: hidden; }
.et-infographics img { display: block; width: 100%; height: auto; }
.et-infographics span { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px; font-size: 13px; font-weight: 600; }
.et-infographics svg { flex-shrink: 0; width: 18px; height: 18px; }
.et-infographics p { color: var(--et-muted); font-size: 12px; line-height: 1.6; margin-top: 14px; }
@media(max-width:700px) { .et-infographics > div { grid-template-columns: 1fr; } }
.et-designer p { max-width: 620px; color: var(--et-muted); font-size: 13px; line-height: 1.65; }
.et-more h2 { margin: 16px 0; font-size: 16px; }
.et-more > a:last-child { display: inline-block; margin-top: 18px; padding: 10px 0; text-decoration: underline; text-underline-offset: 4px; }
.et-more .case-next { max-width: 100%; padding: 14px; border: 1px solid var(--et-line); border-radius: 8px; }
.et-more .case-next strong { font-size: 14px; }
.et-more .case-next img { width: 96px; height: 76px; }
@media(min-width:1550px) { .project-grid.et-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) {
  .et-market-header { gap: 14px; }
  .et-catalog { grid-template-columns: 165px minmax(0,1fr); gap: 24px; }
  .project-grid.et-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .et-product, .et-lower { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 25px; }
  .et-gallery { grid-template-columns: 48px minmax(0,1fr); gap: 8px; }
  .et-thumbnails a { width: 46px; height: 46px; }
  .et-product-summary h1 { font-size: 24px; }
  .et-more .case-next { gap: 8px; }
  .et-more .case-next img { width: 65px; height: 65px; }
}
@media(max-width:900px) {
  .et-product { display: flex; flex-direction: column; gap: 0; }
  .et-product-media { order: -1; width: 100%; margin: 14px 0 0; }
  .et-product-summary { display: contents; }
  .et-product-summary h1 { order: -2; width: 100%; margin: 0; }
  .et-project-type { display: none; }
  .et-byline { margin-top: 12px; }
  .et-summary { margin: 8px 0; }
  .et-view-select, .et-primary-action, .et-details, .et-no-sale { width: 100%; }
  .et-details { margin-top: 14px; }
  .et-details dl div { grid-template-columns: minmax(120px,.5fr) 1fr; }
  .et-lower { grid-template-columns: 1fr; gap: 20px; }
  .et-gallery { display: flex; flex-direction: column-reverse; }
  .et-thumbnails { flex-direction: row; overflow-x: auto; overflow-y: hidden; max-height: none; padding: 4px; }
  .et-thumbnails a { width: 56px; height: 56px; }
  .et-frame { aspect-ratio: 4/3; }
  .et-gallery-caption { min-height: 42px; }
}
@media(max-width:700px) {
  .et-wrap { width: calc(100% - 32px); }
  .et-preview { padding: 6px 16px; font-size: 10px; }
  .et-preview a { display: none; }
  .et-market-header { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; min-height: 104px; padding-block: 10px; }
  .et-wordmark { font-size: 37px; }
  .et-browse { justify-self: start; }
  .et-browse summary { min-height: 36px; font-size: 12px; padding: 5px 10px; }
  .et-saved-link { width: 36px; height: 36px; }
  .et-saved-link svg { width: 22px; height: 22px; }
  .et-search { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 43px; }
  .et-search button { width: 33px; height: 33px; }
  .et-search input { font-size: 14px; }
  .et-market-nav { justify-content: flex-start; gap: 22px; min-height: 38px; overflow-x: auto; padding-inline: 16px; scrollbar-width: none; }
  .et-market-nav a { font-size: 12px; min-height: 38px; }
  .et-shop-banner { height: 82px; margin-top: 16px; }
  .et-banner-image { height: 82px; }
  .et-shop-identity { gap: 12px; padding-block: 18px; }
  .et-shop-identity .et-avatar { flex-basis: 52px; width: 52px; height: 52px; font-size: 23px; }
  .et-shop-identity h1 { font-size: 23px; }
  .et-shop-identity p { font-size: 13px; }
  .et-shop-identity span { font-size: 12px; margin-top: 2px; }
  .et-about-link { display: none; }
  .et-shop-tabs { gap: 23px; font-size: 12px; min-height: 46px; }
  .et-shop-tabs a { min-height: 46px; }
  .et-catalog { grid-template-columns: 1fr; padding-top: 19px; gap: 0; }
  .et-shop-sidebar { display: none; }
  .et-results-heading { gap: 5px; margin-bottom: 12px; }
  .et-results-heading h2 { font-size: 14px; }
  .et-sort { font-size: 0; gap: 0; }
  .et-sort select { max-width: 160px; min-height: 38px; font-size: 12px; padding-left: 8px; }
  .et-mobile-categories { display: block; margin-bottom: 17px; }
  .et-mobile-categories .et-categories { flex-direction: row; gap: 6px; }
  .et-mobile-categories button { flex: 1; justify-content: center; gap: 5px; min-height: 42px; padding: 7px 8px; border: 1px solid var(--et-line); border-radius: 23px; font-size: 12px; }
  .et-mobile-categories button[aria-pressed="true"] { border-color: #222; box-shadow: inset 0 0 0 1px #222; background: #fff; }
  .project-grid.et-grid { gap: 23px 12px; }
  .et-card-media { aspect-ratio: 1; }
  .et-card h3 { font-size: 13px; }
  .et-card p { font-size: 11px; }
  .et-card strong { font-size: 12px; }
  .et-favorite { width: 44px; height: 44px; top: 6px; right: 6px; }
  .et-favorite svg { width: 18px; height: 18px; }
  .et-active-filters { align-items: start; font-size: 12px; }
  .et-active-filters button { max-width: 140px; }
  .et-footer { padding-block: 25px; }
  .et-footer > div { grid-template-columns: 1fr 1fr; gap: 16px; }
  .et-footer > div > div { grid-column: 1 / -1; }
  .et-breadcrumbs { padding-block: 17px; gap: 8px; font-size: 11px; }
  .et-product-summary h1 { font-size: 25px; }
  .et-summary { font-size: 14px; }
  .et-stage { border-radius: 5px; }
  .et-gallery-controls { inset-inline: 8px; }
  .et-gallery-controls button { width: 44px; height: 44px; }
  .et-original-note, .et-no-sale { font-size: 12px; }
  .et-more .case-next img { width: 96px; height: 76px; }
}
@media(max-width:360px) {
  .et-results-heading { align-items: center; }
  .et-sort { flex-basis: 100%; margin-left: 0; margin-top: 4px; }
  .et-sort select { max-width: none; width: 100%; }
  .et-shop-tabs { gap: 17px; }
  .project-grid.et-grid { grid-template-columns: 1fr; }
  .et-card-media { aspect-ratio: 4/3; }
  .et-card h3 { font-size: 15px; }
  .et-card p, .et-card strong { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  .et-card-media, .et-card-media img, .et-favorite { transition: none; }
  .et-card-link:hover img, .et-favorite:hover { transform: none; }
}
.et-card[data-category="sticker"] .et-card-media{background:#edf1f8;}
.et-card[data-category="sticker"] .et-card-media img{object-fit:contain;padding:16px;}
.etsy-context:has([data-kind="design-export"]) .et-stage{background:#f2f4f8;}
