/* Ecolivros Marketplace — estilos isolados sob .ecmkt para não colidir com o tema */

.ecmkt { max-width: 1100px; margin: 0 auto; padding: 24px 16px 60px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #222; box-sizing: border-box; }
/* Marketplace tem layout próprio — remove constraints do wrapper genérico */
.ecmkt-marketplace.ecmkt { max-width: none; padding: 0; margin: 0; }
.ecmkt * { box-sizing: border-box; }

.ecmkt-page-title { font-size: 26px; font-weight: 800; margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
.ecmkt-page-subtitle { color: #666; margin: 0 0 24px; }
.ecmkt-section-title { font-size: 19px; font-weight: 700; margin: 0 0 14px; display: flex; align-items: center; gap: 8px; }
.ecmkt-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }

/* Ícones SVG inline (substituem emojis em toda a UI) */
.ecmkt-icon { flex-shrink: 0; vertical-align: -3px; }
.ecmkt-icon--star-filled, .ecmkt-icon--star-outline { color: #d99a1f; vertical-align: -2px; }
.ecmkt-icon--heart-filled, .ecmkt-icon--heart-outline { color: #c92a3a; }
.ecmkt-stars { display: inline-flex; align-items: center; gap: 1px; }

/* Gate (acesso restrito) */
.ecmkt-gate { min-height: 50vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.ecmkt-gate-box { background: #fff; border: 1px solid #e4e4e4; border-radius: 14px; padding: 30px; max-width: 440px; text-align: center; box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.ecmkt-gate-box h2 { margin: 0 0 10px; font-size: 21px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.ecmkt-gate-box p { margin: 0 0 18px; color: #555; }

/* Botões */
.ecmkt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 20px; border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer; border: none; line-height: 1.2; transition: opacity .15s; }
.ecmkt-btn--primary { background: #1e7e34; color: #fff !important; }
.ecmkt-btn--primary:hover { opacity: .9; }
.ecmkt-btn--ghost { background: #fff; color: #333 !important; border: 1px solid #ccc; }
.ecmkt-btn--ghost.is-active { background: #eef7ee; border-color: #1e7e34; color: #1e7e34 !important; }
.ecmkt-btn--sm { padding: 8px 14px; font-size: 13px; }
.ecmkt-btn--xs { padding: 5px 10px; font-size: 12px; }
.ecmkt-btn:disabled { opacity: .55; cursor: not-allowed; }

/* Cards de formulário */
.ecmkt-card-form, .ecmkt-dashboard-section { background: #fff; border: 1px solid #e8e8e8; border-radius: 14px; padding: 22px; margin-bottom: 22px; }

.ecmkt-field { margin-bottom: 14px; }
.ecmkt-field label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #555; margin-bottom: 6px; }
.ecmkt-field input, .ecmkt-field textarea, .ecmkt-field select { width: 100%; padding: 11px 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 15px; background: #fff; }
.ecmkt-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ecmkt-required { color: #c92a3a; }
.ecmkt-ca-actions, .ecmkt-listing-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

/* Upload de foto (criar anúncio) */
.ecmkt-photo-drop { display: flex; align-items: center; justify-content: center; flex-direction: column; border: 2px dashed #ccc; border-radius: 14px; min-height: 220px; cursor: pointer; position: relative; overflow: hidden; margin-bottom: 14px; background: #fafafa; }
.ecmkt-photo-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ecmkt-photo-drop img { max-width: 100%; max-height: 320px; object-fit: contain; }
#ecmkt-ca-drop-label { font-weight: 700; color: #555; }
.ecmkt-info { background: #e8f4fd; border: 1px solid #b3d7f2; color: #1a5490; font-weight: 600; border-radius: 10px; padding: 10px 14px; margin: 10px 0; font-size: 14px; }

/* Grid de cards — segue o mesmo breakpoint do eco-product-grid do tema */
.ecmkt-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.ecmkt-grid--loading { opacity: .5; }
.ecmkt-empty { color: #777; padding: 18px 0; }
@media (max-width: 1200px) { .ecmkt-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 960px)  { .ecmkt-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px)  { .ecmkt-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* ecmkt-card — alinhado visualmente com .eco-product-card do tema */
.ecmkt-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--eco-border, #e4e4e4);
    border-radius: var(--eco-radius, 12px);
    text-decoration: none;
    color: inherit;
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ecmkt-card:hover {
    box-shadow: var(--eco-shadow-md, 0 6px 18px rgba(0,0,0,.1));
    transform: translateY(-2px);
}

/* Imagem — 2/3 como capa de livro (igual ao eco-product-card) */
.ecmkt-card-img {
    position: relative;
    aspect-ratio: 2/3;
    background: #f4f4f4;
    overflow: hidden;
    flex-shrink: 0;
}
.ecmkt-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.ecmkt-card:hover .ecmkt-card-img img { transform: scale(1.04); }

.ecmkt-card-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 40px; }
.ecmkt-card-placeholder--lg { font-size: 80px; }

/* Badge de estado (reservado/vendido) */
.ecmkt-card-badge {
    position: absolute;
    top: 8px; left: 8px;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
}
.ecmkt-card-badge--reservado { background: #d99a1f; }
.ecmkt-card-badge--vendido   { background: #999; }

/* Body */
.ecmkt-card-body {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.ecmkt-card-title {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 2px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
    letter-spacing: -0.005em;
}
.ecmkt-card-autor {
    font-size: 12.5px;
    color: #777;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Linha preço + estado */
.ecmkt-card-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    margin-top: 6px;
}
.ecmkt-card-preco {
    font-size: 17px;
    font-weight: 800;
    color: var(--eco-green, #1e7e34);
    line-height: 1.15;
    letter-spacing: -0.015em;
}
/* eco-estado-pill nos cards do marketplace — compacto e não compete com o preço */
.ecmkt-listing-card .eco-product-card__price-row .eco-estado-pill {
    font-size: 10px;
    padding: 2px 7px 2px 5px;
    gap: 4px;
    margin: 0;
    max-width: 52%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
}
.ecmkt-listing-card .eco-product-card__price-row .eco-estado-pill__dot {
    width: 5px;
    height: 5px;
    flex-shrink: 0;
}

/* ── ecmkt-listing-card: sobrepõe eco-product-card para anúncios ── */

/* Placeholder de imagem (sem thumbnail) dentro do img-wrap */
.ecmkt-listing-card .ecmkt-card-placeholder {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: #f0f3ee; color: #b0bdb5; font-size: 40px;
}

/* Anúncios vendidos — ligeira dessaturação */
.ecmkt-listing-card--vendido .eco-product-card__img-wrap img {
    filter: grayscale(40%) opacity(.8);
}

/* Seller — separador subtil, único ao ecmkt-card */
.ecmkt-card-seller {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #777;
    border-top: 1px solid #f0f0f0;
    padding-top: 8px;
    margin-top: 6px;
}
.ecmkt-card-seller-foto {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   MARKETPLACE — novo design
   ═══════════════════════════════════════════════════════════ */

/* Hero */
.ecmkt-mk-hero {
    background: linear-gradient(135deg, #16432b 0%, #1e7f3a 100%);
    border-radius: 18px;
    padding: 28px 32px;
    margin-bottom: 20px;
    color: #fff;
}
.ecmkt-mk-hero__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.ecmkt-mk-hero__title {
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 4px;
    letter-spacing: -0.02em;
    color: #fff;
}
.ecmkt-mk-hero__sub {
    font-size: 13.5px;
    color: rgba(255,255,255,.72);
    margin: 0;
    max-width: 500px;
}

/* Botão branco do hero */
.ecmkt-btn--white {
    background: #fff;
    color: #16432b;
    border: none;
    font-weight: 700;
    flex-shrink: 0;
}
.ecmkt-btn--white:hover { background: #f0faf3; color: #16432b; }

/* Campo de pesquisa na barra de filtros — ocupa mais espaço */
.ecmkt-mk-filter-group--search { flex: 2 1 200px; }

/* Barra de filtros */
.ecmkt-mk-filters {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    background: #f6f8f4;
    border: 1px solid #e4e9df;
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.ecmkt-mk-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 120px;
    min-width: 0;
}
.ecmkt-mk-filter-group--price { flex: 1 1 160px; }
.ecmkt-mk-filter-group--order { flex: 0 1 150px; }
.ecmkt-mk-filter-label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #7a8a80;
}
.ecmkt-mk-select {
    height: 40px;
    border: 1px solid #dde4d8;
    border-radius: 9px;
    background: #fff;
    font-size: 14px;
    color: #16261c;
    padding: 0 10px;
    outline: none;
    width: 100%;
    transition: border-color .15s;
}
.ecmkt-mk-select:focus { border-color: #1e7f3a; }

/* Range de preço */
.ecmkt-mk-price-range {
    display: flex;
    align-items: center;
    gap: 4px;
    height: 38px;
}
.ecmkt-mk-price-input {
    width: 60px;
    height: 40px;
    border: 1px solid #dde4d8;
    border-radius: 9px;
    background: #fff;
    font-size: 14px;
    color: #16261c;
    padding: 0 8px;
    outline: none;
    text-align: center;
    transition: border-color .15s;
}
.ecmkt-mk-price-input:focus { border-color: #1e7f3a; }
.ecmkt-mk-price-sep { font-size: 13px; color: #96a89d; }
.ecmkt-mk-price-unit { font-size: 13px; color: #7a8a80; font-weight: 600; }

/* Botão limpar */
.ecmkt-mk-reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #dde4d8;
    border-radius: 9px;
    background: #fff;
    font-size: 13px;
    color: #7a8a80;
    cursor: pointer;
    white-space: nowrap;
    align-self: flex-end;
    transition: color .15s, border-color .15s;
    flex-shrink: 0;
}
.ecmkt-mk-reset-btn:hover { color: #c0392b; border-color: #f5c6c3; }

/* Meta bar */
.ecmkt-mk-meta-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 13px;
    color: #7a8a80;
}
.ecmkt-mk-loading {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #1e7f3a;
}
@keyframes ecmkt-spin { to { transform: rotate(360deg); } }
.ecmkt-spin { animation: ecmkt-spin .8s linear infinite; transform-origin: center; }

/* Load more */
.ecmkt-mk-loadmore-wrap {
    display: flex;
    justify-content: center;
    padding: 28px 0 8px;
}
.ecmkt-mk-loadmore-btn {
    background: #fff;
    border: 2px solid #dde4d8;
    border-radius: 10px;
    padding: 12px 36px;
    font-size: 14px;
    font-weight: 700;
    color: #16261c;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.ecmkt-mk-loadmore-btn:hover { border-color: #1e7f3a; background: #f3faf5; color: #1e7f3a; }
.ecmkt-mk-loadmore-btn:disabled { opacity: .5; cursor: default; }

/* ── Responsive marketplace ── */
@media (max-width: 760px) {
    .ecmkt-mk-hero { padding: 24px 18px 20px; border-radius: 14px; }
    .ecmkt-mk-hero__title { font-size: 20px; }
    .ecmkt-mk-hero__inner { margin-bottom: 16px; }
    .ecmkt-mk-search-input { font-size: 14px; }
    .ecmkt-mk-search-btn { padding: 9px 14px; font-size: 13px; }
    .ecmkt-mk-filters { gap: 8px; padding: 12px; }
    .ecmkt-mk-filter-group { flex: 1 1 calc(50% - 8px); }
    .ecmkt-mk-filter-group--order { flex: 1 1 calc(50% - 8px); }
    .ecmkt-mk-reset-btn { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 480px) {
    .ecmkt-mk-filter-group { flex: 1 1 100%; }
}

/* Página de anúncio individual */
.ecmkt-breadcrumb { margin-bottom: 16px; }
.ecmkt-breadcrumb a { color: #555; text-decoration: none; font-size: 14px; }
.ecmkt-listing-grid { display: grid; grid-template-columns: 380px 1fr; gap: 36px; }
.ecmkt-listing-img { position: relative; overflow: hidden; background: #f4f4f4; aspect-ratio: 3/4; }
.ecmkt-listing-img img { width: 100%; height: 100%; object-fit: cover; }
.ecmkt-pill { display: inline-block; background: #eef7ee; color: #1e7e34; padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.ecmkt-listing-title { font-size: 26px; font-weight: 800; margin: 0 0 4px; }
.ecmkt-listing-autor { color: #666; margin: 0 0 14px; }
.ecmkt-listing-meta-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.ecmkt-tag { background: #f1f1f1; padding: 5px 10px; border-radius: 8px; font-size: 13px; }
.ecmkt-listing-preco { font-size: 28px; font-weight: 800; color: #1e7e34; margin-bottom: 16px; }
.ecmkt-listing-sinopse { color: #444; line-height: 1.6; margin-bottom: 20px; }
.ecmkt-listing-actions { margin-bottom: 22px; }

.ecmkt-seller-card { display: flex; align-items: center; gap: 12px; border: 1px solid #e8e8e8; border-radius: 12px; padding: 14px; text-decoration: none; color: inherit; margin-top: 10px; }
.ecmkt-seller-card:hover { background: #fafafa; }
.ecmkt-seller-foto, .ecmkt-estante-foto { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.ecmkt-seller-foto--placeholder, .ecmkt-estante-foto--placeholder { display: flex; align-items: center; justify-content: center; background: #eee; font-size: 20px; }
.ecmkt-seller-card-info { display: flex; flex-direction: column; gap: 2px; }
.ecmkt-seller-rating { font-size: 12.5px; color: #777; }

/* ── Perfil público (/perfil/{user}/) ───────────────────────────────────── */

/* Hero */
.ecmkt-perfil-hero {
    background: linear-gradient(135deg, #f0f7f2 0%, #e6f2ea 100%);
    border: 1px solid #d4e8da;
    border-radius: 16px;
    margin-bottom: 24px;
    overflow: hidden;
}
.ecmkt-perfil-hero__inner {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 28px 28px 20px;
}
.ecmkt-perfil-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.1);
}
.ecmkt-perfil-avatar--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #d4e8da;
    color: #1e7e34;
}
.ecmkt-perfil-hero__info { flex: 1; min-width: 0; }
.ecmkt-perfil-hero__nome {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #1a2e1f;
}
.ecmkt-perfil-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 14px;
    font-size: 13.5px;
    color: #555;
}
.ecmkt-perfil-hero__rating { display: inline-flex; align-items: center; gap: 5px; }
.ecmkt-perfil-hero__loc { display: inline-flex; align-items: center; gap: 4px; }
.ecmkt-perfil-hero__since { color: #777; }
.ecmkt-perfil-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Stats bar */
.ecmkt-perfil-stats {
    display: flex;
    align-items: center;
    gap: 0;
    border-top: 1px solid #d4e8da;
    padding: 14px 28px;
    background: rgba(255,255,255,.55);
}
.ecmkt-perfil-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}
.ecmkt-perfil-stat__num {
    font-size: 20px;
    font-weight: 800;
    color: #1a2e1f;
    line-height: 1;
}
.ecmkt-perfil-stat__label {
    font-size: 11px;
    color: #777;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-top: 3px;
}
.ecmkt-perfil-stat__divider {
    width: 1px;
    height: 32px;
    background: #d4e8da;
}

/* Body 2 colunas */
.ecmkt-perfil-body {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 20px;
    align-items: start;
}
.ecmkt-perfil-main { min-width: 0; }

/* Sobre */
.ecmkt-perfil-sobre {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 18px;
}
.ecmkt-perfil-sobre p { margin: 0; color: #444; line-height: 1.65; }
.ecmkt-perfil-section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #888;
    margin: 0 0 10px;
}

/* Tabs */
.ecmkt-perfil-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #eee;
    margin-bottom: 18px;
}
.ecmkt-perfil-tab {
    background: none;
    border: none;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    color: #777;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .15s;
}
.ecmkt-perfil-tab:hover { color: #333; }
.ecmkt-perfil-tab.is-active { color: #1e7e34; border-bottom-color: #1e7e34; }
.ecmkt-perfil-tab__count {
    background: #eee;
    color: #666;
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 700;
}
.ecmkt-perfil-tab.is-active .ecmkt-perfil-tab__count {
    background: #d4edd9;
    color: #1e7e34;
}
.ecmkt-perfil-panel--hidden { display: none; }

/* Avaliações */
.ecmkt-perfil-reviews { display: flex; flex-direction: column; gap: 12px; }
.ecmkt-perfil-review {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 14px 16px;
}
.ecmkt-perfil-review__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}
.ecmkt-perfil-review__author { font-weight: 700; font-size: 14px; }
.ecmkt-perfil-review__date { font-size: 12px; color: #aaa; margin-left: auto; }
.ecmkt-perfil-review__comment { margin: 0; color: #444; font-size: 14px; line-height: 1.5; }

/* Sidebar */
.ecmkt-perfil-sidebar { display: flex; flex-direction: column; gap: 14px; }

.ecmkt-perfil-info-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ecmkt-perfil-info-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.ecmkt-perfil-info-row__icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #f0f7f2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #1e7e34;
}
.ecmkt-perfil-info-row__label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #999;
    margin-bottom: 2px;
}
.ecmkt-perfil-info-row__value {
    display: block;
    font-size: 13.5px;
    color: #333;
}

.ecmkt-perfil-safety {
    background: #f8f9fa;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #777;
    font-size: 12.5px;
    line-height: 1.45;
}
.ecmkt-perfil-safety p { margin: 0; }
.ecmkt-perfil-safety svg { flex-shrink: 0; margin-top: 1px; }

/* Config da estante — foto */
.ecmkt-store-photo-row { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.ecmkt-store-photo-row img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }

/* Responsive */
@media (max-width: 760px) {
    .ecmkt-perfil-hero__inner { flex-direction: column; align-items: center; text-align: center; padding: 20px; }
    .ecmkt-perfil-hero__meta { justify-content: center; }
    .ecmkt-perfil-hero__actions { justify-content: center; }
    .ecmkt-perfil-stats { padding: 12px 16px; }
    .ecmkt-perfil-stat__num { font-size: 17px; }
    .ecmkt-perfil-body { grid-template-columns: 1fr; }
    .ecmkt-perfil-sidebar { order: -1; }
    .ecmkt-perfil-info-card { flex-direction: row; flex-wrap: wrap; gap: 10px; }
    .ecmkt-perfil-info-row { flex: 1 1 calc(50% - 10px); }
}

/* Tabela de anúncios (minha estante) */
.ecmkt-table { width: 100%; border-collapse: collapse; }
.ecmkt-table th, .ecmkt-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #eee; font-size: 14px; }
.ecmkt-table-thumb { width: 40px; height: 54px; object-fit: cover; }

.ecmkt-thread-mini-list, .ecmkt-followed-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ecmkt-thread-mini-list a { text-decoration: none; color: inherit; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Mensagens */
.ecmkt-mensagens-layout { display: grid; grid-template-columns: 280px 1fr; gap: 20px; min-height: 500px; }
.ecmkt-threads-list { display: flex; flex-direction: column; gap: 8px; }
.ecmkt-thread-item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid #eee; text-decoration: none; color: inherit; }
.ecmkt-thread-item.is-active { background: #eef7ee; border-color: #1e7e34; }
.ecmkt-thread-item-sub { font-size: 12px; color: #777; }
.ecmkt-thread-item-status { font-size: 11px; font-weight: 700; text-transform: uppercase; align-self: flex-start; padding: 2px 7px; border-radius: 6px; background: #f1f1f1; color: #555; }
.ecmkt-thread-item-status--negocio_realizado { background: #fdf0d5; color: #a9711a; }
.ecmkt-thread-item-status--concluido { background: #e3f4e3; color: #1e7e34; }
.ecmkt-thread-item-status--cancelado { background: #f7e2e2; color: #b23b3b; }

.ecmkt-thread-panel { border: 1px solid #e8e8e8; border-radius: 14px; padding: 18px; display: flex; flex-direction: column; }
.ecmkt-thread-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; border-bottom: 1px solid #eee; padding-bottom: 12px; }
.ecmkt-thread-header-sub { display: block; font-size: 13px; color: #777; }
.ecmkt-thread-messages { flex: 1; display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; max-height: 420px; overflow-y: auto; }
.ecmkt-msg { max-width: 75%; padding: 10px 12px; border-radius: 10px; background: #f4f4f4; }
.ecmkt-msg--mine { align-self: flex-end; background: #e3f4e3; }
.ecmkt-msg--system { align-self: center; background: #fdf6e3; color: #886a1f; font-size: 13px; text-align: center; max-width: 90%; }
.ecmkt-msg-author { font-size: 11px; font-weight: 700; color: #777; display: block; }
.ecmkt-msg p { margin: 4px 0; }
.ecmkt-msg-time { font-size: 11px; color: #999; }

.ecmkt-thread-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.ecmkt-review-form { display: flex; flex-direction: column; gap: 8px; }
.ecmkt-star-input { font-size: 26px; color: #d99a1f; cursor: pointer; letter-spacing: 4px; }
.ecmkt-star { cursor: pointer; }
.ecmkt-review-form textarea { padding: 8px; border: 1px solid #ddd; border-radius: 8px; }

.ecmkt-msg-form { display: flex; gap: 10px; }
.ecmkt-msg-form textarea { flex: 1; padding: 10px 12px; border: 1px solid #ddd; border-radius: 10px; resize: none; }

@media (max-width: 900px) {
    .ecmkt-listing-grid { grid-template-columns: 1fr; }
    .ecmkt-mensagens-layout { grid-template-columns: 1fr; }
    .ecmkt-grid { grid-template-columns: repeat(2, 1fr); }
    .ecmkt-field-row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════
   A MINHA ESTANTE — novo design
══════════════════════════════════════════ */

/* ── Secção genérica ── */
.ecmkt-me-section {
    background: #fff;
    border: 1px solid #E7EAE0;
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 1px 3px rgba(26,43,34,.05);
    margin-bottom: 20px;
}
.ecmkt-me-section--sm { padding: 20px; }
.ecmkt-me-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }

/* ── Tabs de anúncios ── */
.ecmkt-me-tabs { display: flex; gap: 4px; margin-bottom: 16px; border-bottom: 2px solid #eef0ea; }
.ecmkt-me-tab {
    background: none; border: none; cursor: pointer;
    padding: 8px 16px; font-size: 14px; font-weight: 600; color: #666;
    border-bottom: 2px solid transparent; margin-bottom: -2px;
    transition: color .15s, border-color .15s;
    text-decoration: none; display: inline-flex; align-items: center;
}
.ecmkt-me-tab:hover { color: #1e7f3a; }
.ecmkt-me-tab.is-active { color: #1e7f3a; border-bottom-color: #1e7f3a; }
.ecmkt-me-tab__count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px;
    background: #eef0ea; border-radius: 20px;
    font-size: 11px; font-weight: 700; color: #555;
    margin-left: 6px; transition: background .15s, color .15s;
}
.ecmkt-me-tab.is-active .ecmkt-me-tab__count { background: #d4edda; color: #1e7f3a; }

/* Badge vendido */
.ecmkt-me-sold-badge {
    flex-shrink: 0; font-size: 11px; font-weight: 700;
    background: #f0f0f0; color: #888; padding: 3px 10px; border-radius: 20px;
}
.ecmkt-me-listing-row--sold { opacity: .75; }
.ecmkt-me-listing-row--sold .ecmkt-me-listing-title { color: #888; }
.ecmkt-me-section__title { font-size: 18px; font-weight: 800; margin: 0 0 16px; color: #16261c; display: flex; align-items: center; gap: 8px; }
.ecmkt-me-section__title--sm { font-size: 15.5px; font-weight: 800; margin: 0; color: #16261c; }
.ecmkt-me-section__actions { display: flex; align-items: center; gap: 10px; }
.ecmkt-me-count { font-size: 13px; font-weight: 700; color: #7a8a80; background: #f0f3ee; padding: 2px 9px; border-radius: 20px; }
.ecmkt-me-link-sm { font-size: 12.5px; font-weight: 700; color: #1e7f3a; text-decoration: none; }
.ecmkt-me-link-sm:hover { text-decoration: underline; }

/* ── Hero ── */
.ecmkt-me-hero {
    background: #fff;
    border: 1px solid #E7EAE0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(26,43,34,.05);
    margin-bottom: 20px;
}
.ecmkt-me-hero__inner {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 26px 28px 24px;
}
.ecmkt-me-hero__avatar-wrap {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 0 0 4px #fff, 0 4px 14px rgba(0,0,0,.12);
}
.ecmkt-me-hero__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    border-radius: 50%;
}
.ecmkt-me-hero__avatar-initials {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #1f7a4d;
    color: #fff;
    font-size: 38px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.ecmkt-me-hero__info { flex: 1; min-width: 240px; }
.ecmkt-me-hero__name-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.ecmkt-me-hero__name { font-size: 24px; font-weight: 800; margin: 0; color: #16261c; letter-spacing: -.01em; }
.ecmkt-me-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #eaf6ef;
    color: #1e7f3a;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 11px;
    border-radius: 20px;
}
.ecmkt-me-hero__badge-dot { width: 7px; height: 7px; border-radius: 50%; background: #1e7f3a; flex-shrink: 0; }
.ecmkt-me-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    font-size: 13.5px;
    color: #5a7060;
    margin-bottom: 8px;
}
.ecmkt-me-hero__stars { display: inline-flex; align-items: center; gap: 5px; }
.ecmkt-me-hero__stars strong { color: #16261c; }
.ecmkt-me-hero__loc { display: inline-flex; align-items: center; gap: 4px; }
.ecmkt-me-hero__member { color: #9aa89e; }
.ecmkt-me-hero__bio { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: #48584e; max-width: 560px; }
.ecmkt-me-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Métricas */
.ecmkt-me-metrics {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #eef0ea;
    background: #fbfcfa;
}
.ecmkt-me-metric {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 8px;
    gap: 3px;
    text-align: center;
}
.ecmkt-me-metric__val {
    font-size: 22px;
    font-weight: 800;
    color: #16261c;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ecmkt-me-metric__val .ecmkt-icon--star-filled { color: #d99a1f; }
.ecmkt-me-metric__label {
    font-size: 11px;
    color: #7a8a80;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 600;
}
.ecmkt-me-metric__sep { width: 1px; background: #eef0ea; flex-shrink: 0; }

/* ── Vista/toggle lista/grelha ── */
.ecmkt-me-view-toggle { display: flex; gap: 4px; }
.ecmkt-me-view-btn {
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #ddd; border-radius: 8px;
    background: #fff; color: #666; cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}
.ecmkt-me-view-btn.is-active { background: #eaf6ef; border-color: #1e7f3a; color: #1e7f3a; }
.ecmkt-me-view-btn:hover:not(.is-active) { background: #f5f5f5; }

/* ── Lista de anúncios ── */
.ecmkt-me-listing-list { display: flex; flex-direction: column; }
.ecmkt-me-listing-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f2ee;
}
.ecmkt-me-listing-row:last-child { border-bottom: none; }
.ecmkt-me-listing-thumb-wrap { flex-shrink: 0; }
.ecmkt-me-listing-thumb { width: 46px; height: 62px; object-fit: cover; display: block; border: 1px solid #e8e8e8; border-radius: 0 !important; }
.ecmkt-me-listing-thumb-ph {
    width: 46px; height: 62px;
    background: #f4f4f4;
    border: 1px solid #e3dccb;
    display: flex; align-items: center; justify-content: center;
    color: #b6a988;
}
.ecmkt-me-listing-info { flex: 1; min-width: 0; }
.ecmkt-me-listing-title {
    font-size: 14.5px; font-weight: 700; color: #1c2b22;
    text-decoration: none; display: block; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ecmkt-me-listing-title:hover { text-decoration: underline; }
.ecmkt-me-listing-author { font-size: 12.5px; color: #8a978d; display: block; }
.ecmkt-me-listing-price { font-size: 17px; font-weight: 800; color: #1e7f3a; flex-shrink: 0; width: 76px; text-align: right; letter-spacing: -.01em; }
.ecmkt-me-status-pill {
    display: flex; align-items: center; gap: 7px;
    background: #f7f8f5; border: 1px solid #e6e9e2;
    border-radius: 9px; padding: 5px 10px 5px 11px;
    flex-shrink: 0;
}
.ecmkt-me-status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; transition: background .2s; }
.ecmkt-me-status-pill select {
    border: none; background: none;
    font-family: inherit; font-size: 13px; font-weight: 600;
    color: #3a4a40; cursor: pointer; padding-right: 2px;
}
.ecmkt-me-delete-btn {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #ececec; background: #fff;
    border-radius: 9px; color: #b15a4a; cursor: pointer;
    flex-shrink: 0; transition: background .15s, border-color .15s;
}
.ecmkt-me-delete-btn:hover { background: #fff5f3; border-color: #f0d4cd; }

/* ── Layout principal: coluna única ── */
.ecmkt-me-layout { display: flex; flex-direction: column; gap: 0; }
.ecmkt-me-main { display: flex; flex-direction: column; gap: 20px; }

/* Legacy alias kept for any reference */
.ecmkt-me-bottom { display: grid; grid-template-columns: 1fr 300px; gap: 20px; align-items: start; }
.ecmkt-me-favorites .ecmkt-me-section__title { margin-bottom: 16px; }
.ecmkt-me-fav-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ecmkt-me-fav-card { text-decoration: none; color: inherit; border: 1px solid #ececec; border-radius: 12px; display: flex; flex-direction: column; transition: box-shadow .2s; }
.ecmkt-me-fav-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.ecmkt-me-fav-img { aspect-ratio: 2/3; background: #f4f4f4; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ecmkt-me-fav-img img { width: 100%; height: 100%; object-fit: cover; }
.ecmkt-me-fav-img-ph { color: #b6a988; }
.ecmkt-me-fav-heart {
    position: absolute; top: 7px; right: 7px;
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(255,255,255,.9);
    display: flex; align-items: center; justify-content: center;
    color: #c92a3a;
}
.ecmkt-me-fav-body { padding: 10px 11px; display: flex; flex-direction: column; gap: 2px; }
.ecmkt-me-fav-title { font-size: 13px; font-weight: 700; line-height: 1.3; color: #1c2b22; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ecmkt-me-fav-author { font-size: 11.5px; color: #8a978d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ecmkt-me-fav-price { font-size: 15px; font-weight: 800; color: #1e7f3a; margin-top: 4px; }

/* ── Rail (legacy selector kept for specificity) ── */
.ecmkt-me-thread-list { display: flex; flex-direction: column; }
.ecmkt-me-thread {
    display: flex; flex-direction: column; gap: 5px;
    padding: 11px 0; border-bottom: 1px solid #f0f2ee;
    text-decoration: none; color: inherit;
}
.ecmkt-me-thread:last-child { border-bottom: none; }
.ecmkt-me-thread:hover .ecmkt-me-thread__title strong { text-decoration: underline; }
.ecmkt-me-thread__title { font-size: 13.5px; color: #1c2b22; }
.ecmkt-me-follow-list { display: flex; flex-direction: column; gap: 2px; }
.ecmkt-me-follow-item {
    display: flex; align-items: center; gap: 11px;
    padding: 8px 6px; border-radius: 10px;
    text-decoration: none; color: inherit;
    transition: background .15s;
}
.ecmkt-me-follow-item:hover { background: #f6f8f4; }
.ecmkt-me-follow-avatar,
.ecmkt-me-follow-initial {
    width: 34px; height: 34px; border-radius: 50%;
    flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 800; object-fit: cover;
}
.ecmkt-me-follow-name { font-size: 13.5px; font-weight: 600; color: #2a3a30; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ecmkt-me-follow-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; color: #1e7f3a; white-space: nowrap; }

/* ── Overlay + Painel slide-in ── */
.ecmkt-me-overlay {
    position: fixed; inset: 0;
    background: rgba(22,38,28,.42);
    z-index: 1040;
    opacity: 0; pointer-events: none;
    transition: opacity .22s ease;
}
.ecmkt-me-overlay.is-visible { opacity: 1; pointer-events: auto; }
.ecmkt-me-panel {
    position: fixed; top: 0; right: 0;
    height: 100%; width: 440px; max-width: 92vw;
    background: #fff; z-index: 1050;
    box-shadow: -8px 0 40px rgba(0,0,0,.18);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.ecmkt-me-panel.is-open { transform: translateX(0); }
.ecmkt-me-panel__head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 22px 24px; border-bottom: 1px solid #eef0ea;
    position: sticky; top: 0; background: #fff; z-index: 1;
}
.ecmkt-me-panel__head h2 { font-size: 18px; font-weight: 800; margin: 0; color: #16261c; }
.ecmkt-me-panel__close {
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    border: none; background: #f2f4ef; border-radius: 9px;
    cursor: pointer; color: #5a7060;
}
.ecmkt-me-panel__close:hover { background: #e8ebe3; }
.ecmkt-me-panel__body { padding: 22px 24px 32px; }
.ecmkt-me-panel__photo-row { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.ecmkt-me-panel__photo-img {
    width: 64px; height: 64px; border-radius: 50%;
    object-fit: cover; object-position: top center; flex-shrink: 0;
}
.ecmkt-me-panel__photo-initial {
    width: 64px; height: 64px; border-radius: 50%;
    background: #1f7a4d; color: #fff;
    font-size: 26px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ecmkt-me-panel__subtitle { font-size: 13px; font-weight: 800; color: #16261c; margin: 24px 0 12px; padding-top: 18px; border-top: 1px solid #eef0ea; }
.ecmkt-me-panel__footer { display: flex; gap: 10px; margin-top: 26px; }
.ecmkt-me-panel__deactivate {
    width: 100%; margin-top: 12px;
    padding: 11px; border: none; background: none;
    color: #b15a4a; font-weight: 600; font-size: 13px;
    cursor: pointer; font-family: inherit;
}
.ecmkt-me-panel__deactivate:hover { text-decoration: underline; }

/* ── Thread status badges (contexto minha estante) ── */
.ecmkt-me-section .ecmkt-thread-item-status {
    display: inline-flex; align-self: flex-start;
    font-size: 10.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .4px;
    padding: 2px 8px; border-radius: 6px;
}
.ecmkt-thread-item-status--aberto            { background: #eaf6ef; color: #1e7f3a; }
.ecmkt-thread-item-status--negocio_realizado { background: #fdf0d5; color: #a9711a; }
.ecmkt-thread-item-status--concluido         { background: #e3f4e3; color: #1e7f34; }
.ecmkt-thread-item-status--cancelado         { background: #f5eaea; color: #b15a4a; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .ecmkt-me-hero__inner { padding: 20px; }
    .ecmkt-me-bottom { grid-template-columns: 1fr; }
    .ecmkt-me-fav-grid { grid-template-columns: repeat(2, 1fr); }
    .ecmkt-me-listing-price { width: auto; }
    .ecmkt-me-metrics { flex-wrap: wrap; }
    .ecmkt-me-metric { min-width: 50%; border-bottom: 1px solid #eef0ea; }
}
@media (max-width: 560px) {
    .ecmkt-me-hero__avatar-img,
    .ecmkt-me-hero__avatar-initials { width: 72px; height: 72px; font-size: 28px; }
    .ecmkt-me-hero__name { font-size: 20px; }
    .ecmkt-me-listing-price { font-size: 15px; }
}

/* ═══════════════════════════════════════════════════════════════
   MINHA ESTANTE — Mobile (≤ 640px)
   ═══════════════════════════════════════════════════════════════ */

/* ── Mobile header bar (hidden on desktop) ── */
.ecmkt-me-mobile-bar {
    display: none; /* shown via inline <style> on ≤640px */
    position: sticky;
    top: 0;
    z-index: 20;
    background: rgba(244,241,233,.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid #e4e2d8;
    margin-bottom: 16px;
}
.ecmkt-me-mobile-bar__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px 12px;
}
.ecmkt-me-mobile-bar__back {
    flex-shrink: 0;
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #e7eae0;
    background: #fff;
    border-radius: 10px;
    color: #3a4a40;
    text-decoration: none;
}
.ecmkt-me-mobile-bar__title {
    flex: 1;
    font-size: 18px; font-weight: 800;
    margin: 0; color: #16261c;
}
.ecmkt-me-mobile-bar__avatar {
    flex-shrink: 0;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #1f7a4d; color: #fff;
    font-size: 14px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}

/* ── Nav pills ── */
.ecmkt-me-nav-pills-wrap {
    display: flex;
    gap: 8px;
    padding: 0 16px 12px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ecmkt-me-nav-pills-wrap::-webkit-scrollbar { display: none; }
.ecmkt-me-nav-pill {
    flex: none;
    font-size: 13px; font-weight: 600;
    color: #5a7060;
    background: #fff;
    border: 1px solid #e7eae0;
    padding: 7px 13px;
    border-radius: 20px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: background .15s, color .15s, border-color .15s;
}
.ecmkt-me-nav-pill.is-active {
    font-weight: 700;
    color: #fff;
    background: #1e7f3a;
    border-color: #1e7f3a;
}
.ecmkt-me-nav-pill__badge {
    background: #c92a3a; color: #fff;
    font-size: 10px; font-weight: 800;
    padding: 1px 6px; border-radius: 10px;
}

/* ── Mobile layout overrides ── */
@media (max-width: 640px) {

    /* Hero: card + vertical stack */
    .ecmkt-me-hero {
        background: transparent;
        border: none;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    .ecmkt-me-hero__inner {
        background: #fff;
        border: 1px solid #E7EAE0;
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(26,43,34,.04);
        position: relative;
        padding: 20px 18px 18px;
        flex-direction: column;
        gap: 0;
    }

    /* "Estante ativa" badge → absolute top-right */
    .ecmkt-me-hero__badge {
        position: absolute;
        top: 16px; right: 14px;
        z-index: 1;
    }

    /* Avatar */
    .ecmkt-me-hero__avatar-wrap {
        width: 72px; height: 72px;
        box-shadow: 0 0 0 4px #fff, 0 4px 12px rgba(0,0,0,.12);
        margin-bottom: 12px;
    }
    .ecmkt-me-hero__avatar-img,
    .ecmkt-me-hero__avatar-initials {
        width: 100%; height: 100%;
        font-size: 30px;
    }

    /* Info */
    .ecmkt-me-hero__info { padding: 0; }
    .ecmkt-me-hero__name-row { flex-wrap: nowrap; }
    .ecmkt-me-hero__name { font-size: 21px; margin: 0 0 6px; }
    .ecmkt-me-hero__member { display: none; } /* hidden on mobile to save space */

    /* Actions: side by side */
    .ecmkt-me-hero__actions {
        flex-direction: row;
        gap: 9px;
        margin-top: 14px;
    }
    .ecmkt-me-hero__actions .ecmkt-btn {
        flex: 1;
        justify-content: center;
        padding: 11px 8px;
    }

    /* Metrics: separate card */
    .ecmkt-me-metrics {
        border-top: none;
        background: #fff;
        border: 1px solid #E7EAE0;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 1px 2px rgba(26,43,34,.04);
        flex-wrap: nowrap;
    }
    .ecmkt-me-metric { padding: 14px 4px; min-width: 0; border-bottom: none; }
    .ecmkt-me-metric__val { font-size: 18px; }
    .ecmkt-me-metric__label { font-size: 9.5px; letter-spacing: .3px; }

    /* Sections */
    .ecmkt-me-section {
        border-radius: 18px;
        padding: 18px 16px;
    }
    .ecmkt-me-section__head { margin-bottom: 6px; }

    /* Hide view toggle on mobile (always list) */
    .ecmkt-me-view-toggle { display: none; }

    /* Listing rows: grid layout — thumb spans 2 rows, info full-width on top, price+status+delete on bottom */
    .ecmkt-me-listing-row {
        display: grid;
        grid-template-columns: 60px 1fr auto auto;
        grid-template-rows: auto auto;
        column-gap: 10px;
        row-gap: 6px;
        align-items: center;
        padding: 14px 0;
    }
    .ecmkt-me-listing-thumb-wrap {
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: start;
    }
    .ecmkt-me-listing-thumb { width: 48px; height: 64px; border-radius: 0 !important; }
    .ecmkt-me-listing-thumb-ph { width: 48px; height: 64px; }
    .ecmkt-me-listing-info {
        grid-column: 2 / 5;
        grid-row: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    .ecmkt-me-listing-title { white-space: normal; }
    .ecmkt-me-listing-price {
        grid-column: 2;
        grid-row: 2;
        width: auto;
        font-size: 16px;
        text-align: left;
        letter-spacing: -.01em;
        align-self: center;
    }

    /* Status pill: show on mobile, grid col 3 */
    .ecmkt-me-status-pill {
        grid-column: 3;
        grid-row: 2;
        display: flex;
        padding: 5px 8px 5px 9px;
        align-self: center;
    }
    .ecmkt-me-status-pill select { font-size: 12px; }

    /* Delete btn: grid col 4, smaller */
    .ecmkt-me-delete-btn {
        grid-column: 4;
        grid-row: 2;
        width: 32px; height: 32px;
        border-radius: 8px;
        align-self: center;
    }

    /* Layout + Bottom: single column */
    .ecmkt-me-layout, .ecmkt-me-bottom {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .ecmkt-me-main { gap: 16px; }

    /* Fav grid: 2 cols */
    .ecmkt-me-fav-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    /* Edit panel → bottom sheet */
    .ecmkt-me-panel {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
        height: 92%;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -8px 40px rgba(0,0,0,.2);
        transform: translateY(100%);
        transition: transform .3s cubic-bezier(.2,.8,.2,1);
    }
    .ecmkt-me-panel.is-open { transform: translateY(0); }
    .ecmkt-me-panel__head { padding: 14px 18px 12px; }

    /* Sheet drag handle */
    .ecmkt-me-panel__head::before {
        content: '';
        display: block;
        width: 40px; height: 4px;
        border-radius: 4px;
        background: #dfe2da;
        margin: 0 auto 12px;
    }

    /* Panel field rows: single col on mobile */
    .ecmkt-field-row { flex-direction: column; gap: 0; }
}


/* ═══════════════════════════════════════════════════════════════
   LIVROS PROCURADOS — Pedidos + Alertas
   ═══════════════════════════════════════════════════════════════ */

/* ── Página "Os meus pedidos" (Minha Conta) ── */
.ecmkt-meus-pedidos { max-width: 860px; }

.ecmkt-mp-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 16px; margin-bottom: 28px; flex-wrap: wrap;
}
.ecmkt-mp-title { font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 0 0 4px; }
.ecmkt-mp-sub   { font-size: 14px; color: #666; margin: 0; }

.ecmkt-mp-section { background: #fff; border: 1px solid #eef0ea; border-radius: 16px; padding: 24px; margin-bottom: 20px; }
.ecmkt-mp-section__title { font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0 0 16px; }
.ecmkt-mp-section__desc  { font-size: 13px; color: #777; margin: -8px 0 14px; }

/* Formulário de novo pedido */
.ecmkt-mp-form__row {
    display: flex; gap: 12px; margin-bottom: 12px; flex-wrap: wrap;
}
.ecmkt-mp-form__field { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 140px; }
.ecmkt-mp-form__field--flex2 { flex: 2; }
.ecmkt-mp-form__field--flex1 { flex: 1; }
.ecmkt-mp-form__field--sm    { flex: 0 0 120px; }
.ecmkt-mp-form__field--full  { flex: 1 1 100%; }
.ecmkt-mp-form__field label  { font-size: 12px; font-weight: 600; color: #555; text-transform: uppercase; letter-spacing: .4px; }
.ecmkt-mp-form__field input,
.ecmkt-mp-form__field textarea {
    border: 1px solid #dfe2da; border-radius: 10px; padding: 9px 12px;
    font-size: 14px; font-family: inherit; background: #fafaf8;
    transition: border-color .15s;
    resize: vertical;
}
.ecmkt-mp-form__field input:focus,
.ecmkt-mp-form__field textarea:focus { outline: none; border-color: #3a7d4c; background: #fff; }
.ecmkt-mp-form__actions { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
.ecmkt-mp-form__feedback { font-size: 13px; color: #3a7d4c; }

/* Linha de pedido */
.ecmkt-mp-req-row {
    display: flex; align-items: center; gap: 12px; padding: 14px 0;
    border-bottom: 1px solid #f0f2ec;
}
.ecmkt-mp-req-row:last-child { border-bottom: none; }
.ecmkt-mp-req-cover {
    flex-shrink: 0; width: 38px; height: 54px;
    object-fit: cover; border-radius: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.ecmkt-mp-req-cover--ph {
    background: #eef1ec;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b0bfaa' stroke-width='1.5'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center;
}

.ecmkt-mp-req-main { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ecmkt-mp-req-title  { font-size: 15px; font-weight: 600; color: #1a1a1a; }
.ecmkt-mp-req-author { font-size: 13px; color: #777; }
.ecmkt-mp-req-notes  { font-size: 12px; color: #999; }
.ecmkt-mp-req-user   { font-size: 12px; color: #3a7d4c; font-style: italic; }
.ecmkt-mp-req-meta   { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.ecmkt-mp-req-price  { font-size: 13px; font-weight: 600; color: #3a7d4c; }
.ecmkt-mp-req-date   { font-size: 12px; color: #aaa; }
.ecmkt-mp-req-actions { display: flex; gap: 6px; align-items: center; }

/* Pills de estado */
.ecmkt-pill            { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; }
.ecmkt-pill--green     { background: #e3f5e9; color: #1e7f3a; }
.ecmkt-pill--success   { background: #f0f5e3; color: #5a7a1e; }

/* Alertas */
.ecmkt-mp-alert-form { margin-bottom: 16px; }
.ecmkt-mp-alert-row  { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ecmkt-mp-alert-row input {
    flex: 1; border: 1px solid #dfe2da; border-radius: 10px;
    padding: 9px 12px; font-size: 14px; background: #fafaf8;
    font-family: inherit; min-width: 200px;
}
.ecmkt-mp-alert-row input:focus { outline: none; border-color: #3a7d4c; background: #fff; }

.ecmkt-mp-alert-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 0; border-bottom: 1px solid #f0f2ec;
}
.ecmkt-mp-alert-item:last-child { border-bottom: none; }
.ecmkt-mp-alert-item__icon  { color: #3a7d4c; flex-shrink: 0; }
.ecmkt-mp-alert-item__query { font-size: 14px; font-weight: 600; color: #1a1a1a; flex: 1; }
.ecmkt-mp-alert-item__meta  { font-size: 12px; color: #aaa; }
.ecmkt-mp-alert-item__del   { margin-left: auto; flex-shrink: 0; }

/* ── Página Pública: Livros Procurados ── */
.ecmkt-livros-procurados { max-width: 860px; margin: 0 auto; }
.ecmkt-lp-header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; margin-bottom: 24px; flex-wrap: wrap;
}
.ecmkt-lp-title { font-size: 26px; font-weight: 800; color: #1a1a1a; margin: 0 0 4px; }
.ecmkt-lp-sub   { font-size: 14px; color: #777; margin: 0; }
.ecmkt-lp-search {
    display: flex; gap: 10px; align-items: center;
    margin-bottom: 24px; flex-wrap: wrap;
}
.ecmkt-lp-search__input {
    flex: 1; border: 1px solid #dfe2da; border-radius: 10px;
    padding: 10px 14px; font-size: 14px; background: #fafaf8;
    font-family: inherit; min-width: 220px;
}
.ecmkt-lp-search__input:focus { outline: none; border-color: #3a7d4c; background: #fff; }
.ecmkt-lp-list { background: #fff; border: 1px solid #eef0ea; border-radius: 16px; padding: 0 20px; }
.ecmkt-lp-list .ecmkt-mp-req-row:first-child { padding-top: 16px; }
.ecmkt-lp-list .ecmkt-mp-req-row:last-child  { padding-bottom: 16px; }
.ecmkt-lp-empty { text-align: center; padding: 48px 20px; color: #888; }
.ecmkt-lp-pagination {
    display: flex; gap: 6px; justify-content: center;
    margin-top: 24px; flex-wrap: wrap;
}
.ecmkt-page-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1px solid #dfe2da; border-radius: 8px;
    font-size: 13px; font-weight: 600; color: #444;
    text-decoration: none; background: #fff;
    transition: border-color .15s, background .15s;
}
.ecmkt-page-btn.is-active { background: #3a7d4c; border-color: #3a7d4c; color: #fff; pointer-events: none; }
.ecmkt-page-btn:hover:not(.is-active) { border-color: #3a7d4c; color: #3a7d4c; }

/* ── Secção "Livros Procurados" dentro da Minha Estante ── */
.ecmkt-pedido-form { background: #f9fafb; border: 1px solid #e6e9e5; border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.ecmkt-pedido-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin-bottom: 12px; }
@media (max-width: 560px) { .ecmkt-pedido-form__fields { grid-template-columns: 1fr; } }

/* ── Pedido form — toggle manual ── */
.ecmkt-pedido-manual-toggle {
    margin: 10px 0 4px;
    font-size: 13px;
    color: #7a9080;
}
.ecmkt-pedido-manual-toggle button {
    background: none;
    border: none;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    color: #1f5a3a;
    cursor: pointer;
    text-decoration: underline;
    font-family: inherit;
}
.ecmkt-pedido-manual-toggle button:hover { color: #2d8b57; }

/* ── Pedido form — linha de capa ── */
.ecmkt-pedido-cover-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.ecmkt-pedido-cover-row input[type="url"] {
    flex: 1 1 180px;
    min-width: 0;
}
.ecmkt-pedido-cover-sep {
    font-size: 12px;
    color: #9aa79e;
    flex-shrink: 0;
}
.ecmkt-pedido-cover-upload-label {
    cursor: pointer;
    flex-shrink: 0;
}
.ecmkt-pedido-form .ecmkt-recs-form__field--full { grid-column: 1 / -1; }

.ecmkt-pedidos-list { display: flex; flex-direction: column; }
.ecmkt-pedido-row {
    display: flex; align-items: center; gap: 10px;
    padding: 11px 0; border-bottom: 1px solid #f0f2ec;
}
.ecmkt-pedido-row:last-child { border-bottom: none; }
.ecmkt-pedido-row.is-done { opacity: .55; }

.ecmkt-pedido-row__info { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.ecmkt-pedido-row__title  { font-size: 14px; font-weight: 600; color: #1a1a1a; }
.ecmkt-pedido-row__author { font-size: 13px; color: #777; }
.ecmkt-pedido-row__price  { font-size: 12px; color: #3a7d4c; font-weight: 600; background: #e8f5ec; padding: 2px 7px; border-radius: 10px; }

.ecmkt-pedido-row__cover {
    flex-shrink: 0; width: 34px; height: 48px;
    object-fit: cover; border-radius: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.ecmkt-pedido-row__cover--ph {
    background: #eef1ec;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b0bfaa' stroke-width='1.5'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center;
}

.ecmkt-pedido-row__status { flex-shrink: 0; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; white-space: nowrap; }
.ecmkt-pedido-status--aberto    { background: #e3f0fd; color: #1a5aa8; }
.ecmkt-pedido-status--realizado { background: #e3f5e9; color: #1e7f3a; }

/* ═══════════════════════════════════════════════════════════════
   LI E RECOMENDO — Recomendações de livros
   ═══════════════════════════════════════════════════════════════ */

/* Secção na Minha Estante */
.ecmkt-recs { }

.ecmkt-recs-form {
    background: #f8f9f5; border: 1px solid #eef0ea; border-radius: 12px;
    padding: 18px; margin-bottom: 20px;
}
.ecmkt-recs-form__row {
    display: flex; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; align-items: flex-end;
}
.ecmkt-recs-form__row--align-center { align-items: center; }
.ecmkt-recs-form__field             { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 140px; }
.ecmkt-recs-form__field--flex2      { flex: 2; }
.ecmkt-recs-form__field--flex1      { flex: 1; }
.ecmkt-recs-form__field--full       { flex: 1 1 100%; }
.ecmkt-recs-form__field label       { font-size: 12px; font-weight: 600; color: #555; text-transform: uppercase; letter-spacing: .4px; }
.ecmkt-recs-form__field input,
.ecmkt-recs-form__field textarea {
    border: 1px solid #dfe2da; border-radius: 10px; padding: 9px 12px;
    font-size: 14px; font-family: inherit; background: #fff;
    resize: vertical; transition: border-color .15s;
}
.ecmkt-recs-form__field input:focus,
.ecmkt-recs-form__field textarea:focus { outline: none; border-color: #3a7d4c; }
.ecmkt-recs-form__actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ecmkt-recs-form__feedback { font-size: 13px; color: #3a7d4c; }

/* Star picker */
.ecmkt-recs-star-picker { display: flex; gap: 4px; cursor: pointer; user-select: none; }
.ecmkt-recs-star {
    font-size: 26px; color: #ddd; transition: color .1s;
    line-height: 1;
}
.ecmkt-recs-star.is-on, .ecmkt-recs-star.is-hover { color: #f5a623; }

/* Estrelas display (estáticas) */
.ecmkt-star          { font-size: 14px; }
.ecmkt-star--on      { color: #f5a623; }
.ecmkt-star--off     { color: #ddd; }

/* Cards de recomendação na Minha Estante */
.ecmkt-recs-list { display: flex; flex-direction: column; gap: 0; }
.ecmkt-recs-card {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 14px 0; border-bottom: 1px solid #f0f2ec;
    position: relative;
}
.ecmkt-recs-card:last-child { border-bottom: none; }
.ecmkt-recs-card__cover {
    width: 52px; height: 72px; object-fit: cover;
    flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,0,0,.1);
    border-radius: 0 !important;
}
.ecmkt-recs-card__cover-ph {
    width: 52px; height: 72px; flex-shrink: 0;
    background: #eef0ea; display: flex; align-items: center; justify-content: center;
    color: #aaa;
}
.ecmkt-recs-card__body { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ecmkt-recs-card__title   { font-size: 14px; font-weight: 600; color: #1a1a1a; }
.ecmkt-recs-card__author  { font-size: 12px; color: #888; }
.ecmkt-recs-card__comment { font-size: 13px; color: #555; margin: 4px 0 0; line-height: 1.4; }
.ecmkt-recs-card__del {
    position: absolute; top: 14px; right: 0;
    opacity: 0; transition: opacity .15s;
}
.ecmkt-recs-card:hover .ecmkt-recs-card__del { opacity: 1; }

/* Cards na estante pública */
.ecmkt-recs-pub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
}
.ecmkt-recs-pub-card {
    background: #fff; border: 1px solid #eef0ea; border-radius: 14px;
    display: flex; flex-direction: column;
    transition: box-shadow .2s;
}
.ecmkt-recs-pub-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.ecmkt-recs-pub-card__cover {
    width: 100%; aspect-ratio: 2/3; object-fit: cover;
    border-bottom: 1px solid #eef0ea;
}
.ecmkt-recs-pub-card__cover-ph {
    aspect-ratio: 2/3; background: #eef0ea;
    display: flex; align-items: center; justify-content: center; color: #aaa;
}
.ecmkt-recs-pub-card__body {
    padding: 12px; display: flex; flex-direction: column; gap: 3px; flex: 1;
}
.ecmkt-recs-pub-card__title   { font-size: 13px; font-weight: 700; color: #1a1a1a; }
.ecmkt-recs-pub-card__author  { font-size: 12px; color: #888; }
.ecmkt-recs-pub-card__comment {
    font-size: 12px; color: #666; margin: 4px 0 0; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Responsivo mobile ── */
@media (max-width: 640px) {
    .ecmkt-mp-header { flex-direction: column; }
    .ecmkt-mp-form__row { flex-direction: column; }
    .ecmkt-mp-form__field--sm { flex: 1 1 auto; }
    .ecmkt-mp-req-row { flex-wrap: wrap; }
    .ecmkt-mp-req-meta { flex-direction: row; align-items: center; gap: 8px; }
    .ecmkt-lp-header { flex-direction: column; }
    .ecmkt-recs-pub-grid { grid-template-columns: repeat(2, 1fr); }
    .ecmkt-recs-form__row { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════════════
   GOOGLE BOOKS AUTOCOMPLETE — Li e Recomendo
   ═══════════════════════════════════════════════════════════════ */

/* Campo de pesquisa */
.ecmkt-book-search { position: relative; }

.ecmkt-book-search__wrap {
    display: flex; align-items: center; gap: 8px;
}
.ecmkt-book-search__input {
    flex: 1; border: 1px solid #dfe2da; border-radius: 10px;
    padding: 10px 12px; font-size: 14px; font-family: inherit;
    background: #fafaf8; outline: none; min-width: 0;
    transition: border-color .15s;
}
.ecmkt-book-search__input:focus {
    border-color: #3a7d4c; background: #fff;
}
.ecmkt-book-search__input::placeholder { color: #bbb; }

/* Status / feedback */
.ecmkt-book-status {
    font-size: 13px; color: #666; margin-top: 6px; padding: 0 2px;
}

/* Dropdown de resultados */
.ecmkt-book-dropdown {
    margin-top: 8px;
    background: #fff; border: 1px solid #e8ebe3; border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,.10);
    overflow: hidden;
    max-height: 320px; overflow-y: auto;
}

.ecmkt-book-option {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 14px; cursor: pointer; width: 100%;
    text-align: left; background: transparent; border: none;
    border-bottom: 1px solid #f5f5f0;
    transition: background .12s; font-family: inherit;
}
.ecmkt-book-option:last-child { border-bottom: none; }
.ecmkt-book-option:hover { background: #f3f7f4; }
.ecmkt-book-option--empty {
    cursor: default; color: #aaa; font-size: 13px;
    justify-content: center; padding: 16px;
}
.ecmkt-book-option__cover {
    width: 36px; height: 50px; object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.ecmkt-book-option__cover-ph {
    width: 36px; height: 50px; flex-shrink: 0;
    background: #eef0ea; display: flex; align-items: center; justify-content: center;
    color: #ccc;
}
.ecmkt-book-option__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ecmkt-book-option__title {
    font-size: 13px; font-weight: 600; color: #1a1a1a;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ecmkt-book-option__meta { font-size: 12px; color: #888; }

/* Preview do livro selecionado */
.ecmkt-recs-selected {
    display: flex; align-items: center; gap: 14px;
    background: #f3f7f4; border: 1px solid #c8deca;
    border-radius: 12px; padding: 12px 16px; margin-bottom: 16px;
}
.ecmkt-recs-selected__cover {
    width: 44px; height: 60px; object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.ecmkt-recs-selected__info {
    flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.ecmkt-recs-selected__title  { font-size: 14px; font-weight: 700; color: #1a1a1a; }
.ecmkt-recs-selected__author { font-size: 12px; color: #666; }

/* ═══════════════════════════════════════════════════════════════════
   GERIR ANÚNCIOS  (ecmkt-anuncios endpoint)
   ═══════════════════════════════════════════════════════════════════ */

/* Cabeçalho */
.ecmkt-gerir-anuncios { max-width: 900px; }
.ecmkt-ga-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 16px; flex-wrap: wrap; margin-bottom: 20px;
}
.ecmkt-ga-title { font-size: 22px; font-weight: 800; color: #16261c; margin: 0 0 4px; }
.ecmkt-ga-sub   { font-size: 13px; color: #6b7d70; margin: 0; }

/* Pesquisa */
.ecmkt-ga-search-form { margin-bottom: 16px; }
.ecmkt-ga-search-wrap {
    display: flex; align-items: center; gap: 8px;
    background: #fff; border: 1px solid #dde4d8; border-radius: 10px;
    padding: 0 12px; height: 42px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.ecmkt-ga-search-icon { color: #96a89d; flex-shrink: 0; }
.ecmkt-ga-search-input {
    flex: 1; border: none; outline: none; background: transparent;
    font-size: 14px; color: #16261c;
}
.ecmkt-ga-search-clear {
    font-size: 18px; line-height: 1; color: #96a89d; text-decoration: none;
    padding: 0 4px;
}
.ecmkt-ga-search-clear:hover { color: #c0392b; }

/* Bulk bar */
.ecmkt-ga-bulk-bar {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: #e8f4ed; border: 1px solid #b9d9c6; border-radius: 10px;
    padding: 10px 16px; margin-bottom: 12px;
}
.ecmkt-ga-bulk-count { font-size: 13px; font-weight: 700; color: #1e7f3a; flex: 1; min-width: 120px; }
.ecmkt-ga-bulk-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ecmkt-ga-bulk-select {
    font-size: 13px; border: 1px solid #c8deca; border-radius: 8px;
    padding: 5px 10px; background: #fff; color: #16261c; cursor: pointer;
}

/* Lista: layout base */
.ecmkt-ga-list {
    border: 1px solid #e4e9df;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 20px;
}
.ecmkt-ga-list-head,
.ecmkt-ga-row {
    display: grid;
    grid-template-columns: 28px 48px 1fr 80px 130px 64px;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
}
.ecmkt-ga-list-head {
    background: #f6f8f4;
    border-bottom: 1px solid #e4e9df;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .04em; color: #7a8a80;
}
.ecmkt-ga-row {
    border-bottom: 1px solid #f0f3ee;
    padding-top: 12px;
    padding-bottom: 12px;
    transition: background .15s;
}
.ecmkt-ga-row:last-child { border-bottom: none; }
.ecmkt-ga-row:hover { background: #fbfcfa; }

/* Checkbox */
.ecmkt-ga-cb-wrap { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.ecmkt-ga-cb-wrap input[type=checkbox] { width: 15px; height: 15px; accent-color: #1e7f3a; cursor: pointer; }
.ecmkt-ga-cb-label { font-size: 11px; color: #7a8a80; }

/* Thumbnail */
.ecmkt-ga-thumb {
    width: 44px; height: 58px; object-fit: cover;
    border-radius: 4px; display: block;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
    border-radius: 0 !important;
}
.ecmkt-ga-thumb-ph {
    width: 44px; height: 58px;
    background: #f0f3ee; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    color: #b0bdb5;
}

/* Colunas de conteúdo */
.ecmkt-ga-col-title { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ecmkt-ga-listing-title {
    font-size: 14px; font-weight: 700; color: #16261c;
    text-decoration: none; white-space: nowrap;
    overflow: hidden; text-overflow: ellipsis;
}
.ecmkt-ga-listing-title:hover { color: #1e7f3a; }
.ecmkt-ga-listing-author { font-size: 12px; color: #7a8a80; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ecmkt-ga-listing-date   { font-size: 11px; color: #aab5b0; }

.ecmkt-ga-col-price {
    font-size: 14px; font-weight: 700; color: #16261c;
    white-space: nowrap;
}
.ecmkt-ga-col-status { }
.ecmkt-ga-col-actions { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }

/* Icon buttons */
.ecmkt-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 7px;
    background: #f0f3ee; border: 1px solid #dde4d8;
    color: #4a5a50; cursor: pointer;
    transition: background .15s, color .15s;
    text-decoration: none;
}
.ecmkt-icon-btn:hover { background: #e0e8e0; color: #16261c; }
.ecmkt-icon-btn--danger { background: #fdf1f0; border-color: #f5c6c3; color: #c0392b; }
.ecmkt-icon-btn--danger:hover { background: #fbe3e1; color: #a93226; }

/* Paginação */
.ecmkt-ga-pagination {
    display: flex; gap: 6px; flex-wrap: wrap;
    justify-content: center; padding: 8px 0;
}
.ecmkt-page-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1px solid #dde4d8; border-radius: 8px;
    font-size: 13px; font-weight: 600; color: #4a5a50;
    text-decoration: none; background: #fff;
    transition: background .15s, border-color .15s;
}
.ecmkt-page-btn:hover  { background: #f0f3ee; border-color: #b8c8be; color: #16261c; }
.ecmkt-page-btn.is-active { background: #1e7f3a; border-color: #1e7f3a; color: #fff; }

/* ── Responsive: gerir anúncios ── */
@media (max-width: 640px) {
    .ecmkt-ga-list-head,
    .ecmkt-ga-row {
        grid-template-columns: 24px 40px 1fr 60px;
    }
    /* Esconder colunas não essenciais em mobile */
    .ecmkt-ga-col-status,
    .ecmkt-ga-list-head .ecmkt-ga-col-status { display: none; }
    .ecmkt-ga-col-actions { justify-content: center; }
    .ecmkt-ga-col-price { font-size: 13px; }
    .ecmkt-ga-title { font-size: 18px; }
}

/* ══════════════════════════════════════════════════════════════════
   Livros Procurados — secção integrada na página Marketplace
   ══════════════════════════════════════════════════════════════════ */

.ecmkt-mk-lp-section {
    margin: 40px 0 0;
    border: 1px solid #ebf0e8;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

/* Header */
.ecmkt-mk-lp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid #eaf0e6;
    background: #f6f8f4;
}
.ecmkt-mk-lp-header__left { flex: 1; min-width: 0; }
.ecmkt-mk-lp-header__right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.ecmkt-mk-lp-header__right .ecmkt-btn {
    padding: 9px 16px;
    font-size: 13.5px;
    background: #fff;
    color: #1f5a3a;
    border: 1px solid #cfe0d4;
    border-radius: 10px;
}
.ecmkt-mk-lp-header__right .ecmkt-btn:hover {
    border-color: #2d8b57;
    background: #f3faf5;
    opacity: 1;
}

.ecmkt-mk-lp-title {
    margin: 0;
    font-family: 'Fraunces', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #16261c;
    display: flex;
    align-items: center;
    gap: 9px;
    line-height: 1.3;
}
.ecmkt-mk-lp-title svg { color: #1e7f3a; flex-shrink: 0; }

.ecmkt-mk-lp-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 2px 10px;
    border-radius: 100px;
    background: #e6f3eb;
    color: #1f5a3a;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.ecmkt-mk-lp-sub {
    margin: 5px 0 0;
    font-size: 13.5px;
    color: #7a9080;
    line-height: 1.4;
}

/* Toggle button */
.ecmkt-mk-lp-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #dde4d8;
    border-radius: 10px;
    background: #fff;
    color: #52615a;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.ecmkt-mk-lp-toggle:hover { background: #f0f3ee; color: #16261c; }
.ecmkt-mk-lp-toggle[aria-expanded="false"] svg {
    transform: rotate(180deg);
}

/* Body */
.ecmkt-mk-lp-body { }

.ecmkt-mk-lp-list { padding: 0 8px; }
.ecmkt-mk-lp-list .ecmkt-mp-req-row {
    border-bottom: 1px solid #eef1ec;
}
.ecmkt-mk-lp-list .ecmkt-mp-req-row:last-child {
    border-bottom: none;
}

/* Footer "Ver todos" */
.ecmkt-mk-lp-footer {
    display: flex;
    justify-content: center;
    padding: 18px;
    border-top: none;
}

/* Empty state */
.ecmkt-mk-lp-section .ecmkt-lp-empty {
    padding: 32px 24px;
    text-align: center;
    color: #6a7a70;
    font-size: 14px;
}
.ecmkt-mk-lp-section .ecmkt-lp-empty p { margin: 0 0 16px; }

/* ── Responsive ── */
@media (max-width: 640px) {
    .ecmkt-mk-lp-header { padding: 16px; gap: 12px; }
    .ecmkt-mk-lp-title { font-size: 14px; }
    .ecmkt-mk-lp-sub { display: none; }
    .ecmkt-mk-lp-header__right .ecmkt-btn { display: none; } /* hide "publicar" on mobile, still accessible in minha-estante */
}

/* ═══════════════════════════════════════════════════════════════
   MARKETPLACE — Redesign v2
   ═══════════════════════════════════════════════════════════════ */

/* ── Override dos containers do tema nas páginas do marketplace ── */
/* Remove padding e max-width do artigo para o marketplace ocupar toda a largura */
body.ecmkt-page--marketplace .eco-page-wrap {
    max-width: none !important;
    padding: 0 !important;
}
body.ecmkt-page--marketplace .eco-page-article {
    max-width: none !important;
    width: 100% !important;
}
body.ecmkt-page--marketplace .eco-page-body {
    /* restaura o inline-paragraph spacing que seria aplicado pelo tema */
}
body.ecmkt-page--marketplace .eco-page-body p,
body.ecmkt-page--marketplace .eco-page-body h2,
body.ecmkt-page--marketplace .eco-page-body h3 {
    /* reset estilos genéricos para não afetar o marketplace */
    margin-bottom: 0;
    color: inherit;
}

/* O marketplace gere o seu próprio layout e padding */
.ecmkt-marketplace {
    padding-bottom: 60px;
    background: #f3faf5;
    min-height: 100vh;
}

/* ── Hero v2 — full-bleed (filho directo de <main>, sem container pai) ── */
.ecmkt-mk-hero--v2 {
    width: 100%;
    max-width: none;
    overflow: hidden;
    background: linear-gradient(168deg, #eef6f0 0%, #e0ede5 100%);
    border: none;
    border-bottom: 1px solid #d9e6df;
    border-radius: 0;
    margin-bottom: 0;
    padding: 0;
}
.ecmkt-mk-hero__dots {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(31,90,58,0.045) 1px, transparent 0);
    background-size: 26px 26px;
    pointer-events: none;
}
.ecmkt-mk-hero__inner--v2 {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
    padding: 72px 32px;
    text-align: center;
}
.ecmkt-mk-hero__badge-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #2d8b57;
}
.ecmkt-mk-hero__title--v2 {
    font-family: 'Lora', Georgia, 'Times New Roman', serif;
    font-weight: 600;
    font-size: clamp(36px, 4.5vw, 54px);
    line-height: 1.03;
    letter-spacing: -0.5px;
    color: #16261c;
    margin: 16px 0 0;
}
.ecmkt-mk-hero__stats {
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #5a6b60;
    line-height: 1.45;
    margin: 24px auto 0;
    max-width: 720px;
    text-wrap: balance;
}
.ecmkt-mk-hero__stat-num {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 34px;
    font-weight: 600;
    color: #1f7a4d;
    text-transform: none;
    letter-spacing: -0.01em;
}
.ecmkt-mk-hero__stat-num--gold   { color: #1f7a4d; }
.ecmkt-mk-hero__stat-num--muted  { color: #d98a1f; }
.ecmkt-mk-hero__ctas {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
}
.ecmkt-mk-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 15px 42px;
    border-radius: 12px;
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: opacity .15s, transform .15s;
}
.ecmkt-mk-hero__cta:hover { opacity: .88; transform: translateY(-1px); }
.ecmkt-mk-hero__cta--primary {
    background: #1f7a4d;
    color: #fff;
    box-shadow: 0 8px 22px rgba(31,122,77,.28);
}
.ecmkt-mk-hero__cta--gold {
    background: #f0a531;
    color: #3a2600;
    box-shadow: 0 8px 22px rgba(240,165,49,.32);
}

/* ── Layout 2 colunas ─────────────────────────────────────────── */
.ecmkt-mk-columns {
    display: grid;
    grid-template-columns: 268px 1fr;
    gap: 30px;
    align-items: start;
    max-width: 1240px;
    margin: 0 auto;
    padding: 32px 32px 0;
}
.ecmkt-mk-sidebar {
    position: sticky;
    top: 84px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.ecmkt-mk-main { min-width: 0; }

/* ── Sidebar cards ────────────────────────────────────────────── */
.ecmkt-mk-sb-card {
    background: #fff;
    border: 1px solid #ebf0e8;
    border-radius: 16px;
    padding: 18px;
}
.ecmkt-mk-sb-card__live {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2d8b57;
    margin-bottom: 14px;
}
.ecmkt-mk-sb-card__live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2d8b57;
    box-shadow: 0 0 0 3px rgba(45,139,87,.18);
    flex-shrink: 0;
}
.ecmkt-mk-sb-card__title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 17px;
    font-weight: 600;
    color: #16261c;
    margin: 0 0 3px;
    font-family: 'Fraunces', Georgia, serif;
}
.ecmkt-mk-sb-card__sub {
    font-size: 12px;
    color: #7a9080;
    margin: 4px 0 12px;
}
.ecmkt-mk-sb-card__link {
    display: block;
    text-align: center;
    margin-top: 12px;
    padding-top: 13px;
    border-top: 1px solid #f1f4ee;
    font-size: 12.5px;
    font-weight: 700;
    color: #1f5a3a;
    text-decoration: none;
}
.ecmkt-mk-sb-card__link:hover { color: #2d8b57; }
.ecmkt-mk-sb-card__sold-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #f0f3ee;
    font-size: 13px;
    font-weight: 600;
    color: #2d8b57;
}

/* ── Sidebar: último livro vendido ───────────────────────────── */
.ecmkt-mk-sb-book {
    display: flex;
    gap: 13px;
}
.ecmkt-mk-sb-book__cover {
    width: 60px;
    height: 90px;
    border-radius: 0 !important;
    flex-shrink: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 9px 8px;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(26,43,34,.16);
    overflow: hidden;
}
.ecmkt-mk-sb-book__cover img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
}
.ecmkt-mk-sb-book__author {
    font-size: 6px;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0.75;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ecmkt-mk-sb-book__title {
    font-family: Georgia, serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 1.1;
    margin-top: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-sb-book__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.ecmkt-mk-sb-book__name {
    font-size: 14px;
    font-weight: 700;
    color: #1a2b22;
    line-height: 1.25;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-sb-book__name:hover { color: #2d8b57; }
.ecmkt-mk-sb-book__autor {
    font-size: 12px;
    color: #7a9080;
    margin-top: 3px;
    display: block;
}
.ecmkt-mk-sb-book__seller {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 8px;
    font-size: 11.5px;
    color: #52615a;
}
.ecmkt-mk-sb-book__seller-ini {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e6f3eb;
    color: #2d8b57;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 700;
    flex-shrink: 0;
}

/* ── Sidebar: recomendações ──────────────────────────────────── */
.ecmkt-mk-sb-rec {
    display: flex;
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid #f1f4ee;
}
.ecmkt-mk-sb-rec__cover {
    width: 42px;
    height: 62px;
    border-radius: 5px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    padding: 7px 6px;
    box-shadow: 0 3px 8px rgba(26,43,34,.12);
    overflow: hidden;
}
.ecmkt-mk-sb-rec__cover--img {
    object-fit: cover;
    padding: 0;
}
.ecmkt-mk-sb-rec__cover-author {
    font-size: 5.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0.72;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ecmkt-mk-sb-rec__cover-title {
    font-family: Georgia, serif;
    font-weight: 600;
    font-size: 8.5px;
    line-height: 1.05;
    margin-top: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-sb-rec__info { min-width: 0; flex: 1; }
.ecmkt-mk-sb-rec__stars { font-size: 11px; letter-spacing: 0.5px; line-height: 1; }
.ecmkt-mk-sb-rec__title {
    font-size: 13px;
    font-weight: 700;
    color: #1a2b22;
    line-height: 1.2;
    margin: 5px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-sb-rec__author {
    font-size: 11.5px;
    color: #7a9080;
    margin: 2px 0 0;
    display: block;
}
.ecmkt-mk-sb-rec__by {
    font-size: 11px;
    color: #9aa79e;
    margin: 3px 0 0;
}
.ecmkt-mk-sb-rec__by strong { font-weight: 600; color: #52615a; }

/* ── Category chips ──────────────────────────────────────────── */
.ecmkt-mk-chips-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.ecmkt-mk-chips-title {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 26px;
    letter-spacing: -0.01em;
    color: #16261c;
    margin: 0;
}
.ecmkt-mk-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.ecmkt-mk-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px 8px 10px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    border: 1px solid #dde4d8;
    background: #ffffff;
    color: #3a4a40;
    transition: background .14s, color .14s, border-color .14s;
    font-family: inherit;
}
.ecmkt-mk-chip:hover {
    border-color: #b0c8b8;
    background: #f3faf5;
}
.ecmkt-mk-chip.is-active {
    background: #1f5a3a;
    color: #ffffff;
    border-color: #1f5a3a;
}
.ecmkt-mk-chip__icon {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: #edf3ee;
    transition: background .14s;
}
.ecmkt-mk-chip.is-active .ecmkt-mk-chip__icon {
    background: rgba(255,255,255,.18);
}

/* ── Cards de produto (overrides eco-product-card no marketplace) ── */
.ecmkt-marketplace .ecmkt-listing-card {
    border: 1px solid #ebf0e8;
    border-radius: 14px;
    overflow: hidden;
    transition: transform .18s, box-shadow .18s;
    background: #fff;
}
.ecmkt-marketplace .ecmkt-listing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(26,43,34,.12);
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__body {
    padding: 13px 14px 15px;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__title {
    font-size: 14px;
    font-weight: 700;
    color: #1a2b22;
    min-height: 3.2em;
    letter-spacing: -0.005em;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__author {
    font-size: 12px;
    color: #7a9080;
    margin-top: 0;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__price-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__price {
    font-size: 17px;
    font-weight: 800;
    color: #2d8b57;
    letter-spacing: -0.015em;
    margin-top: 0;
    line-height: 1.1;
}
/* Estado pill no card do marketplace */
.ecmkt-marketplace .ecmkt-listing-card .eco-estado-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px 3px 7px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    margin: 0;
    max-width: none;
    flex-shrink: 0;
    align-self: flex-start;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-estado-pill__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}
/* Fav button */
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__fav {
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.94);
    box-shadow: 0 1px 5px rgba(0,0,0,0.16);
    font-size: 15px;
}
.ecmkt-marketplace .ecmkt-listing-card .eco-product-card__fav:hover {
    transform: scale(1.12);
    color: #e74c3c;
}
/* Seller row */
.ecmkt-marketplace .ecmkt-listing-card .ecmkt-card-seller {
    display: flex;
    align-items: center;
    gap: 7px;
    border-top: 1px solid #f0f3ee;
    padding-top: 11px;
    margin-top: 11px;
    font-size: 11.5px;
    color: #7a9080;
}
.ecmkt-marketplace .ecmkt-listing-card .ecmkt-card-seller-foto {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* Marketplace card badge — pill shape override */
.ecmkt-marketplace .ecmkt-card-badge {
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 100px;
    font-family: 'Hanken Grotesk', sans-serif;
    font-size: 11px;
    font-weight: 800;
}

/* "Ver mais livros" button */
.ecmkt-mk-loadmore-wrap {
    display: flex;
    justify-content: center;
    padding: 32px 0 8px;
}
.ecmkt-mk-loadmore-btn {
    background: #fff;
    border: 2px solid #dde4d8;
    border-radius: 11px;
    padding: 13px 38px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #16261c;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
}
.ecmkt-mk-loadmore-btn:hover { border-color: #2d8b57; background: #f3faf5; color: #2d8b57; }
.ecmkt-mk-loadmore-btn:disabled { opacity: .5; cursor: default; }

/* ── Grid 4 colunas (coluna principal com sidebar) ───────────── */
.ecmkt-grid--4col {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
@media (max-width: 1100px) { .ecmkt-grid--4col { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .ecmkt-grid--4col { grid-template-columns: repeat(2, 1fr); } }

/* ── Livros Procurados — linhas com mini capa ────────────────── */
.ecmkt-mk-lp-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px 24px;
    border-bottom: 1px solid #f1f4ee;
    transition: background .14s;
}
.ecmkt-mk-lp-row:last-child { border-bottom: none; }
.ecmkt-mk-lp-row:hover { background: #fafcf8; }

.ecmkt-mk-lp-row__cover {
    width: 44px;
    height: 64px;
    border-radius: 0 !important;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    padding: 7px 6px;
    box-shadow: 0 4px 10px rgba(26,43,34,.12);
}
.ecmkt-mk-lp-row__cover--img {
    object-fit: cover;
    padding: 0;
}
.ecmkt-mk-lp-row__cover-author {
    font-size: 5.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    opacity: 0.72;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ecmkt-mk-lp-row__cover-title {
    font-family: Georgia, serif;
    font-weight: 600;
    font-size: 9px;
    line-height: 1.1;
    margin-top: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-lp-row__info { flex: 1; min-width: 0; }
.ecmkt-mk-lp-row__heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
.ecmkt-mk-lp-row__title {
    font-size: 15px;
    font-weight: 700;
    color: #1a2b22;
}
.ecmkt-mk-lp-row__author {
    font-size: 13px;
    color: #7a9080;
}
.ecmkt-mk-lp-row__notes {
    font-size: 13px;
    color: #52615a;
    margin: 3px 0 0;
    font-style: italic;
}
.ecmkt-mk-lp-row__by {
    display: block;
    font-size: 12px;
    color: #9aa79e;
    margin-top: 4px;
}
.ecmkt-mk-lp-row__meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}
.ecmkt-mk-lp-row__price {
    font-size: 14px;
    font-weight: 700;
    color: #2d8b57;
    white-space: nowrap;
}
.ecmkt-mk-lp-row__date {
    font-size: 12.5px;
    color: #9aa79e;
    white-space: nowrap;
    width: 74px;
    text-align: right;
}
.ecmkt-mk-lp-row__status {
    padding: 4px 12px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.ecmkt-mk-lp-row__status--open { background: #e9f5ee; color: #1f5a3a; }
.ecmkt-mk-lp-row__status--done { background: #eef1ee; color: #586159; }

/* Footer "Ver todos" — v2 override */
.ecmkt-mk-lp-footer {
    display: flex;
    justify-content: center;
    padding: 18px;
    border-top: none;
}
.ecmkt-mk-lp-footer a {
    font-size: 13.5px;
    font-weight: 700;
    color: #1f5a3a;
    text-decoration: none;
}
.ecmkt-mk-lp-footer a:hover { color: #2d8b57; }

/* ── Mobile-only blocks: hidden by default ─────────────────── */
.ecmkt-mk-mobile-sold { display: none; }
.ecmkt-mk-mobile-recs { display: none; }

/* ── Responsive: layout 2 colunas — tablet ──────────────────── */
@media (max-width: 900px) {
    .ecmkt-mk-columns { grid-template-columns: 1fr; }
    .ecmkt-mk-sidebar { position: static; flex-direction: row; flex-wrap: wrap; }
    .ecmkt-mk-sb-card { flex: 1 1 260px; }
}

/* ── Responsive: mobile (≤640px) ────────────────────────────── */
@media (max-width: 640px) {

    /* Layout */
    .ecmkt-mk-columns { padding: 14px 14px 0; gap: 0; }
    .ecmkt-mk-sidebar { display: none; }
    .ecmkt-mk-mobile-sold { display: block; margin-bottom: 14px; }
    .ecmkt-mk-mobile-recs { display: block; margin: 18px 0; }

    /* Hero */
    .ecmkt-mk-hero__inner--v2 { padding: 28px 16px 24px; text-align: center; }
    .ecmkt-mk-hero__title--v2 { font-size: 24px; line-height: 1.12; }
    .ecmkt-mk-hero__badge-label { display: inline-flex; }
    .ecmkt-mk-hero__stats { font-size: 13px; justify-content: center; flex-wrap: wrap; gap: 4px 6px; }
    .ecmkt-mk-hero__stat-num { font-size: 20px; }
    .ecmkt-mk-hero__ctas { justify-content: center; gap: 8px; }
    .ecmkt-mk-hero__cta { flex: 1; justify-content: center; padding: 11px 16px; font-size: 13.5px; }

    /* Chips: scroll horizontal */
    .ecmkt-mk-chips-header { margin-bottom: 10px; }
    .ecmkt-mk-chips-title { font-size: 20px; }
    .ecmkt-mk-chips {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
        gap: 6px;
        margin: 0 -14px;
        padding-left: 14px;
        padding-right: 14px;
    }
    .ecmkt-mk-chips::-webkit-scrollbar { display: none; }
    .ecmkt-mk-chip { flex-shrink: 0; font-size: 12px; padding: 6px 10px 6px 7px; }

    /* Filtros: colapsa em 2 colunas */
    .ecmkt-mk-filters { flex-wrap: wrap; padding: 12px; gap: 8px; }
    .ecmkt-mk-filter-group { flex: 1 1 calc(50% - 8px); }
    .ecmkt-mk-filter-group--search { flex: 1 1 100%; }
    .ecmkt-mk-filter-group--price { flex: 1 1 100%; }
    .ecmkt-mk-reset-btn { flex: 1 1 100%; justify-content: center; }

    /* Grid */
    .ecmkt-grid--4col { grid-template-columns: repeat(2, 1fr); gap: 8px; }

    /* Livros procurados rows */
    .ecmkt-mk-lp-row { padding: 13px 14px; gap: 10px; }
    .ecmkt-mk-lp-row__date { display: none; }
    .ecmkt-mk-lp-row__meta { gap: 8px; }
    .ecmkt-mk-lp-row__cover { display: none; }

    /* LP section header */
    .ecmkt-mk-lp-header { padding: 14px; gap: 10px; flex-wrap: wrap; }
    .ecmkt-mk-lp-title { font-size: 17px; }
    .ecmkt-mk-lp-sub { display: none; }
    .ecmkt-mk-lp-header__right .ecmkt-btn { font-size: 12px; padding: 7px 12px; }
}

/* ── Mobile: recomendados scroll ─────────────────────────────── */
.ecmkt-mk-mobile-recs__header {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 20px;
    color: #16261c;
    margin-bottom: 12px;
}
.ecmkt-mk-mobile-recs__scroll {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0 -14px;
    padding: 0 14px 4px;
}
.ecmkt-mk-mobile-recs__scroll::-webkit-scrollbar { display: none; }
.ecmkt-mk-mobile-recs__card {
    flex: 0 0 220px;
    background: #fff;
    border: 1px solid #ebf0e8;
    border-radius: 14px;
    padding: 13px;
    display: flex;
    gap: 11px;
}

/* ══════════════════════════════════════════ LISTING CARD (ecmkt-mk-card) ══ */

.ecmkt-mk-card {
    position: relative;
    background: #fff;
    border: 1px solid #ebf0e8;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .18s, box-shadow .18s;
}
.ecmkt-mk-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(26,43,34,0.12);
}

/* ── Capa ── */
.ecmkt-mk-card__cover {
    position: relative;
    display: block;
    aspect-ratio: 2/3;
    text-decoration: none;
    overflow: hidden;
    flex-shrink: 0;
}
.ecmkt-mk-card__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .22s;
}
.ecmkt-mk-card:hover .ecmkt-mk-card__cover img { transform: scale(1.04); }
.ecmkt-mk-card__cover-ph {
    width: 100%;
    height: 100%;
}

/* ── Badge ── */
.ecmkt-mk-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    pointer-events: none;
}

/* ── Botão favorito ── */
.ecmkt-mk-card__fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.94);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    box-shadow: 0 1px 5px rgba(0,0,0,0.16);
    z-index: 2;
    color: #9aa79e;
    transition: transform .15s;
}
.ecmkt-mk-card__fav:hover { transform: scale(1.12); }
.ecmkt-mk-card__fav--active { color: #e0584a; }

/* ── Zona de informação ── */
.ecmkt-mk-card__info {
    padding: 13px 14px 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* ── Título + autor ── */
.ecmkt-mk-card__title-block {
    min-height: 3.2em;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ecmkt-mk-card__title {
    font-size: 14px;
    font-weight: 700;
    color: #1a2b22;
    line-height: 1.3;
    text-decoration: none;
    letter-spacing: -0.005em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ecmkt-mk-card__title:hover { color: #2d8b57; }
.ecmkt-mk-card__author {
    font-size: 12px;
    color: #7a9080;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Preço + estado ── */
.ecmkt-mk-card__price-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
}
.ecmkt-mk-card__price {
    font-size: 17px;
    font-weight: 800;
    color: #2d8b57;
    letter-spacing: -0.015em;
    line-height: 1.1;
    flex-shrink: 0;
}
.ecmkt-mk-card__estado {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px 3px 7px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.ecmkt-mk-card__estado-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ── Rodapé do vendedor ── */
.ecmkt-mk-card__seller {
    border-top: 1px solid #f0f3ee;
    margin-top: auto;
    padding-top: 11px;
    display: flex;
    align-items: center;
    gap: 7px;
}
.ecmkt-mk-card__seller-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e6f3eb;
    color: #2d8b57;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ecmkt-mk-card__seller-avatar--img {
    object-fit: cover;
    object-position: top center;
    display: block;
}
.ecmkt-mk-card__seller-name {
    font-size: 11.5px;
    color: #7a9080;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
