:root {
    --discover-ink: #102a43;
    --discover-muted: #627d98;
    --discover-line: #d9e2ec;
    --discover-bg: #f7fafc;
    --discover-surface: #ffffff;
    --discover-blue: #0b7285;
    --discover-blue-dark: #075763;
    --discover-restaurant: #c2410c;
    --discover-hotel: #087f5b;
    --discover-shadow: 0 16px 42px rgba(16, 42, 67, .10);
}

.marketplace-admin-page {
    color: var(--discover-ink);
}

.marketplace-admin-hero {
    align-items: end;
    background: #0f2740;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 8px;
    box-shadow: var(--discover-shadow);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: space-between;
    overflow: hidden;
    padding: 1.65rem 1.85rem;
    position: relative;
}

.marketplace-admin-hero::after {
    background: rgba(14, 165, 164, .18);
    content: '';
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 8px;
}

.marketplace-admin-hero-copy { max-width: 760px; }
.marketplace-admin-hero p { color: rgba(255,255,255,.78); }

.marketplace-admin-card,
.marketplace-preview-card {
    background: var(--discover-surface);
    border: 1px solid var(--discover-line);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(16,42,67,.06);
}

.marketplace-section-kicker,
.discover-kicker {
    color: var(--discover-blue);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.marketplace-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 800;
    gap: .4rem;
    padding: .42rem .65rem;
}
.marketplace-status i { font-size: .48rem; }
.marketplace-status.is-live { background: #dcfce7; color: #166534; }
.marketplace-status.is-draft { background: #e2e8f0; color: #475569; }

.marketplace-form-section {
    border-top: 1px solid var(--discover-line);
    padding-top: 1.5rem;
}

.marketplace-publish-box {
    border: 1px solid var(--discover-line);
    border-left-width: 4px;
    border-radius: 8px;
    padding: 1rem;
}
.marketplace-publish-box.is-ready { background: #f0fdf4; border-left-color: #16a34a; }
.marketplace-publish-box.is-blocked { background: #fff7ed; border-left-color: #ea580c; }
.marketplace-publish-icon { font-size: 1.2rem; }
.marketplace-publish-box.is-ready .marketplace-publish-icon { color: #16a34a; }
.marketplace-publish-box.is-blocked .marketplace-publish-icon { color: #ea580c; }

.marketplace-preview-card { overflow: hidden; }
.marketplace-preview-image {
    align-items: center;
    background: #e0f2fe;
    color: #0b7285;
    display: flex;
    font-size: 2.2rem;
    height: 188px;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
.marketplace-preview-image img { height: 100%; object-fit: cover; width: 100%; }
.marketplace-preview-image span {
    background: rgba(15,39,64,.88);
    bottom: .75rem;
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    left: .75rem;
    padding: .36rem .5rem;
    position: absolute;
}
.marketplace-step { align-items: flex-start; display: flex; gap: .7rem; padding: .78rem 0; }
.marketplace-step + .marketplace-step { border-top: 1px solid var(--discover-line); }
.marketplace-step > span { align-items: center; background: #e0f2fe; border-radius: 50%; color: #075763; display: inline-flex; flex: 0 0 28px; font-size: .78rem; font-weight: 800; height: 28px; justify-content: center; }
.marketplace-step small { color: var(--discover-muted); display: block; font-size: .78rem; margin-top: .12rem; }
.marketplace-metrics-summary { background: #fff; border: 1px solid var(--discover-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(16,42,67,.05); padding: 1.25rem; }
.marketplace-metric-card { align-items: center; background: #f8fafc; border: 1px solid #dce7ef; border-radius: 8px; display: flex; gap: .75rem; min-width: 0; padding: .9rem; }
.marketplace-metric-card > i { align-items: center; background: #e0f2fe; border-radius: 8px; color: #075763; display: inline-flex; flex: 0 0 34px; font-size: 1rem; height: 34px; justify-content: center; width: 34px; }
.marketplace-metric-card strong { color: var(--discover-ink); display: block; font-size: 1.14rem; line-height: 1.1; }
.marketplace-metric-card span { color: var(--discover-muted); display: block; font-size: .72rem; font-weight: 800; margin-top: .15rem; text-transform: uppercase; }

.discover-page { background: var(--discover-bg); color: var(--discover-ink); min-height: 70vh; }
.discover-hero {
    background: #0f2740;
    color: #fff;
    padding: 4.6rem 0 4rem;
    position: relative;
}
.discover-hero::after { background: #0b7285; bottom: 0; content: ''; height: 6px; left: 0; position: absolute; right: 0; }
.discover-hero .discover-kicker { color: #67e8f9; }
.discover-hero h1 { color: #fff; font-size: clamp(2.15rem, 4vw, 4rem); font-weight: 800; line-height: 1.04; max-width: 780px; }
.discover-hero p { color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.75; max-width: 670px; }
.discover-search-shell { margin-top: -2rem; position: relative; z-index: 2; }
.discover-search-panel {
    background: #fff;
    border: 1px solid rgba(16,42,67,.12);
    border-radius: 8px;
    box-shadow: var(--discover-shadow);
    padding: 1rem;
}
.discover-search-panel .form-control,
.discover-search-panel .form-select { min-height: 46px; }
.discover-search-panel .btn { min-height: 46px; }
.discover-filter-chip {
    background: #fff;
    border: 1px solid var(--discover-line);
    border-radius: 999px;
    color: var(--discover-ink);
    font-size: .85rem;
    font-weight: 750;
    padding: .5rem .78rem;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.discover-filter-chip:hover { border-color: var(--discover-blue); color: var(--discover-blue); transform: translateY(-1px); }
.discover-filter-chip.is-active { background: var(--discover-blue); border-color: var(--discover-blue); color: #fff; }
.discover-location-state { color: var(--discover-muted); font-size: .84rem; font-weight: 650; }
.discover-card-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.discover-operation-card {
    background: #fff;
    border: 1px solid var(--discover-line);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(16,42,67,.05);
    color: inherit;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.discover-operation-card:hover { border-color: #8ec5d1; box-shadow: var(--discover-shadow); color: inherit; transform: translateY(-4px); }
.discover-operation-media { background: #e0f2fe; height: 190px; overflow: hidden; position: relative; }
.discover-operation-media img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.discover-operation-card:hover .discover-operation-media img { transform: scale(1.045); }
.discover-operation-fallback { align-items: center; color: #0b7285; display: flex; font-size: 2.5rem; height: 100%; justify-content: center; }
.discover-operation-type {
    align-items: center;
    background: rgba(15,39,64,.91);
    bottom: .7rem;
    color: #fff;
    display: inline-flex;
    font-size: .74rem;
    font-weight: 800;
    gap: .36rem;
    left: .7rem;
    padding: .38rem .52rem;
    position: absolute;
}
.discover-operation-card[data-vertical="hotelaria"] .discover-operation-type { background: #087f5b; }
.discover-operation-card[data-vertical="restaurante"] .discover-operation-type { background: #c2410c; }
.discover-operation-body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.discover-operation-place { color: var(--discover-muted); font-size: .82rem; font-weight: 700; margin-bottom: .45rem; }
.discover-operation-title { font-size: 1.07rem; font-weight: 800; line-height: 1.3; margin-bottom: .55rem; }
.discover-operation-summary { color: var(--discover-muted); font-size: .9rem; line-height: 1.6; margin: 0 0 1rem; }
.discover-operation-services { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; }
.discover-operation-services span { background: #f0fdfa; color: #0f766e; font-size: .71rem; font-weight: 800; padding: .32rem .46rem; }
.discover-operation-distance { color: #075763; font-size: .76rem; font-weight: 800; margin-top: .8rem; min-height: 18px; }
.discover-empty { background: #fff; border: 1px dashed #b8c8d8; border-radius: 8px; color: var(--discover-muted); padding: 4rem 1.5rem; text-align: center; }
.discover-empty i { color: var(--discover-blue); font-size: 2rem; }

.discover-detail-hero { background: #0f2740; color: #fff; min-height: 410px; overflow: hidden; position: relative; }
.discover-detail-hero.has-image::before { background-position: center; background-size: cover; content: ''; inset: 0; opacity: .44; position: absolute; }
.discover-detail-hero::after { background: linear-gradient(90deg, rgba(15,39,64,.97) 0%, rgba(15,39,64,.82) 52%, rgba(15,39,64,.34) 100%); content: ''; inset: 0; position: absolute; }
.discover-detail-hero .container { min-height: 410px; padding-bottom: 3.5rem; padding-top: 3.5rem; position: relative; z-index: 1; }
.discover-back-link { color: rgba(255,255,255,.84); font-size: .9rem; font-weight: 700; text-decoration: none; }
.discover-back-link:hover { color: #fff; }
.discover-detail-type { align-items: center; background: rgba(255,255,255,.14); display: inline-flex; font-size: .78rem; font-weight: 800; gap: .45rem; margin-top: 2.6rem; padding: .44rem .58rem; }
.discover-detail-hero h1 { color: #fff; font-size: clamp(2.2rem, 5vw, 4.5rem); font-weight: 850; line-height: 1.03; margin: .85rem 0; max-width: 800px; }
.discover-detail-hero p { color: rgba(255,255,255,.85); font-size: 1.06rem; line-height: 1.7; max-width: 740px; }
.discover-detail-main { margin-top: -1.7rem; position: relative; z-index: 2; }
.discover-detail-panel { background: #fff; border: 1px solid var(--discover-line); border-radius: 8px; box-shadow: var(--discover-shadow); padding: 1.5rem; }
.discover-detail-panel h2 { font-size: 1.08rem; font-weight: 800; }
.discover-contact-row { align-items: center; color: var(--discover-ink); display: flex; font-size: .91rem; gap: .7rem; padding: .72rem 0; text-decoration: none; }
.discover-contact-row + .discover-contact-row { border-top: 1px solid var(--discover-line); }
.discover-contact-row i { color: var(--discover-blue); width: 18px; }
.discover-service-list { display: flex; flex-wrap: wrap; gap: .55rem; }
.discover-service-list span { background: #edf7f7; color: #075763; font-size: .82rem; font-weight: 800; padding: .48rem .6rem; }
.discover-detail-description { color: #334e68; line-height: 1.85; white-space: pre-line; }
.discover-primary-action { background: #0b7285; border-color: #0b7285; border-radius: 7px; font-weight: 800; min-height: 48px; }
.discover-primary-action:hover { background: #075763; border-color: #075763; }
.discover-metrics-note { color: var(--discover-muted); font-size: .75rem; line-height: 1.5; margin-top: .9rem; }

@media (max-width: 1199px) { .discover-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .marketplace-admin-hero { padding: 1.3rem; }
    .discover-hero { padding: 3.4rem 0 3.1rem; }
    .discover-hero h1 { font-size: 2.2rem; }
    .discover-search-panel { padding: .75rem; }
    .discover-card-grid { grid-template-columns: 1fr; }
    .discover-operation-media { height: 180px; }
    .discover-detail-hero .container { min-height: 380px; padding-top: 2.4rem; }
    .discover-detail-hero h1 { font-size: 2.35rem; }
}

@media (prefers-reduced-motion: reduce) {
    .discover-operation-card,
    .discover-operation-media img,
    .discover-filter-chip { transition: none; }
}
