html { scroll-behavior:smooth; }
:root { --cc-white:#fff; --cc-soft:#f5f7fa; --cc-navy:#14243a; --cc-blue:#4263eb; --cc-blue-soft:#e3eaf5; }
.opportunities-section { background:var(--cc-soft); color:var(--cc-navy); padding:34px 0 78px; min-height:calc(100vh - 88px); }
.opportunities-section .back-home { display:inline-flex; margin-bottom:34px; color:#60708a; font-size:12px; font-weight:700; text-decoration:none; }
.opportunities-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:34px; }
.opportunities-intro h1 { max-width:700px; color:var(--cc-navy); font-size:clamp(35px,5vw,62px); line-height:1.04; letter-spacing:-2.6px; margin:16px 0 14px; }
.opportunities-intro p { color:#60708a; font-size:17px; line-height:1.6; margin:0; max-width:620px; }
.opportunities-intro .eyebrow { color:var(--cc-blue); }
.opportunities-intro .eyebrow::before { background:var(--cc-blue); }
.opportunities-intro-note { display:flex; gap:11px; max-width:245px; padding:16px 0 4px; color:#60708a; font-size:11px; line-height:1.6; border-top:1px solid #d7deea; }
.opportunities-intro-note span:first-child { color:var(--cc-blue); font-size:20px; line-height:1; }
.opportunities-filters { margin:0; padding:18px; border:1px solid #e1e6ef; border-radius:16px; box-shadow:0 12px 34px #14243a0b; }
.opportunities-filters .search-grid { grid-template-columns:minmax(190px,1.7fr) repeat(3,minmax(135px,1fr)) auto; gap:10px; }
.opportunities-filters label, .sort-control { color:#60708a; font-size:10px; letter-spacing:.06em; }
.opportunities-filters input, .opportunities-filters select, .sort-control select { min-height:48px; border-color:#dbe2ec; background:#fff; border-radius:10px; }
.opportunities-filters input:focus, .opportunities-filters select:focus, .sort-control select:focus { border-color:var(--cc-blue); outline:3px solid #4263eb26; }
.opportunities-filters .primary { background:var(--cc-blue); min-height:48px; white-space:nowrap; }
.opportunities-filters .primary:hover { background:#3454d1; }
.opportunities-filters .search-bottom { margin-top:13px; }
.opportunities-filters .reset { color:var(--cc-blue); }
.op-results-toolbar { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:33px 0 18px; }
.op-count { margin:0; color:var(--cc-navy); font-size:14px; font-weight:750; }
.sort-control { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.sort-control select { width:auto; min-height:38px; padding:7px 30px 7px 11px; font-size:12px; color:var(--cc-navy); }
.active-filters { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.active-filter { display:inline-flex; align-items:center; gap:6px; border:1px solid #cdd8ef; border-radius:18px; background:var(--cc-blue-soft); color:#2d4db6; padding:6px 9px 6px 11px; font-size:11px; }
.active-filter button { border:0; background:none; color:inherit; font-size:15px; line-height:1; padding:0 1px; }
.opportunities-section .cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.op-card { border:1px solid #e1e6ef; border-radius:16px; box-shadow:0 4px 14px #14243a08; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.op-card:hover, .op-card:focus-within { transform:translateY(-5px); border-color:#b9c8f2; box-shadow:0 16px 32px #14243a16; }
.op-card .demo-placeholder, .op-card .photo-placeholder { height:132px; border-radius:0; background:linear-gradient(135deg,#dce6fa 0%,#eef2fb 52%,#dce8f7 100%); color:var(--cc-blue); display:grid; place-items:center; font-size:32px; font-weight:800; letter-spacing:-2px; position:relative; overflow:hidden; }
.op-card .demo-placeholder::after, .op-card .photo-placeholder::after { content:""; width:180px; height:180px; border:24px solid #fff8; border-radius:50%; position:absolute; right:-58px; top:-70px; }
.op-card:nth-child(3n+2) .demo-placeholder { background:linear-gradient(135deg,#e5eafb,#f5f7fa 58%,#dce8f7); color:#536bbd; }
.op-card:nth-child(3n+3) .demo-placeholder { background:linear-gradient(135deg,#e4edf0,#f6f8fa 58%,#dbe6f1); color:#427286; }
.op-card .card-body { padding:20px 20px 18px; }
.op-cover-slot { height:168px; overflow:hidden; background:#e3eaf5; }
.op-cover { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.op-card:hover .op-cover, .op-card:focus-within .op-cover { transform:scale(1.025); }
.op-card .op-cover-slot:first-child { border-radius:15px 15px 0 0; }
.op-card h3 { color:var(--cc-navy); font-size:18px; line-height:1.22; margin:10px 0 8px; }
.op-card .example-label { display:inline-flex; color:#667594; background:#eef2f8; border-radius:20px; padding:5px 9px; font-size:10px; }
.op-card .handle, .op-card .op-summary dd, .op-card .op-summary dt { color:#6b7890; }
.op-card > .card-body > p:not(.example-label):not(.handle) { color:#647189; font-size:12px; line-height:1.6; min-height:39px; margin:13px 0 8px; }
.op-card .categories { margin:9px 0; }
.op-card .specialty { color:#3151ba; background:var(--cc-blue-soft); }
.op-card .mode-tag { color:#4263a0; background:#edf2fb; }
.op-card .profile-button { border-color:#cbd7f5; color:var(--cc-blue); margin-top:10px; }
.op-card .profile-button:hover { background:#f0f4ff; }
.op-loading { color:#60708a; text-align:center; padding:24px; }
.opportunities-section .empty { border:1px dashed #c9d4e5; background:#fff; padding:55px 24px; }
.empty-icon { color:var(--cc-blue); font-size:34px; margin-bottom:8px; }
#op-dialog { width:min(760px,calc(100% - 32px)); max-height:88vh; padding:34px; border:1px solid #e0e6ef; border-radius:20px; }
#op-dialog h2 { font-size:30px; letter-spacing:-1px; margin-bottom:18px; }
#op-dialog .op-cover-slot { height:190px; margin:-34px -34px 24px; border-radius:20px 20px 0 0; }
#op-dialog .op-details { border-top:1px solid #e6ebf2; padding-top:18px; }
#op-dialog .primary { background:var(--cc-blue); }
@media(max-width:1000px) { .opportunities-filters .search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .opportunities-filters .primary { grid-column:1/-1; } .opportunities-section .cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .opportunities-section { padding-top:24px; } .opportunities-intro { display:block; margin-bottom:25px; } .opportunities-intro h1 { font-size:42px; } .opportunities-intro-note { max-width:none; margin-top:24px; } .opportunities-filters .search-grid { grid-template-columns:1fr; } .opportunities-filters .primary { grid-column:auto; } .op-results-toolbar { align-items:flex-start; flex-direction:column; margin-top:26px; } .sort-control { width:100%; justify-content:space-between; } .sort-control select { flex:1; max-width:220px; } .opportunities-section .cards { grid-template-columns:1fr; } #op-dialog { width:calc(100% - 20px); max-height:calc(100vh - 20px); padding:28px 20px 22px; border-radius:16px; } #op-dialog h2 { font-size:25px; } #op-dialog .op-cover-slot { height:150px; margin:-28px -20px 20px; border-radius:16px 16px 0 0; } }
@media(prefers-reduced-motion:reduce) { .opportunities-section * { transition:none !important; } }
.main-nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.main-nav a { padding:10px 0; }
.main-nav a:hover { color:var(--violet); }
.opportunities-section { padding:48px 0 58px; border-top:1px solid var(--line); background:#f0eef9; scroll-margin-top:24px; }
.opportunities-section .eyebrow { color:var(--violet); margin-bottom:12px; }
.opportunities-section .section-heading p { max-width:650px; line-height:1.7; }
.opportunities-filters { margin-top:0; }
.opportunities-filters .search-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr) auto; }
.op-count { margin:24px 0 18px; font-size:13px; color:var(--muted); }
.op-card .card-body { padding-top:20px; }
.op-card h3 { margin-top:0; }
.mode-tag { align-self:flex-start; display:inline-block; font-size:11px; font-weight:700; border-radius:20px; padding:6px 10px; background:#e8edff; color:#334c94; }
.mode-tag.exchange { background:#eee6ff; color:#6c3ab0; }
.mode-tag.mixed { background:#e5f1ef; color:#276c60; }
.op-summary { margin:16px 0 22px; font-size:12px; line-height:1.65; }
.op-summary dt, .op-details dt { font-weight:700; margin-top:12px; color:var(--navy); }
.op-summary dd, .op-details dd { margin:3px 0 0; color:var(--muted); overflow-wrap:anywhere; }
.op-card .profile-button { margin-top:auto; }
#op-dialog { width:min(620px,calc(100% - 32px)); max-height:85vh; overflow-y:auto; }
.op-details { font-size:14px; line-height:1.7; margin-bottom:24px; }
#op-message { padding:12px; background:#f1ecff; border-radius:9px; color:var(--navy); }
.application-form { display:grid; gap:12px; margin-top:14px; }
.application-form textarea { width:100%; min-height:110px; resize:vertical; }
.application-form p { min-height:20px; margin:0; color:var(--muted); }
.application-form p[data-kind="error"] { color:#a32646; }
.application-form p[data-kind="success"] { color:#276c60; }
@media(max-width:950px) { .opportunities-filters .search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .header-inner { flex-wrap:wrap; padding:16px 0; gap:12px; } .main-nav { width:100%; justify-content:space-between; gap:8px; } .main-nav .header-link { display:block; font-size:12px; } .opportunities-section { padding-top:32px; } }
@media(max-width:380px) { .opportunities-filters .search-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Capa final del marketplace: prevalece sobre los estilos históricos compartidos. */
.opportunities-section { background:var(--cc-soft); padding:34px 0 78px; }
.opportunities-filters { margin:0; padding:18px; }
.opportunities-filters .search-grid { grid-template-columns:minmax(190px,1.7fr) repeat(3,minmax(135px,1fr)) auto; gap:10px; }
.op-results-toolbar .op-count { margin:0; }
#op-dialog { width:min(760px,calc(100% - 32px)); max-height:88vh; padding:34px; }
@media(max-width:1000px) { .opportunities-filters .search-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .opportunities-filters .search-grid { grid-template-columns:1fr; } #op-dialog { width:calc(100% - 20px); max-height:calc(100vh - 20px); padding:28px 20px 22px; } }

.photo-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; color:var(--navy); padding:16px; text-align:center; }
.photo-placeholder span { font-size:24px; font-weight:750; position:relative; z-index:1; }
.photo-placeholder small { font-size:10px; position:relative; z-index:1; }
.real-card { padding-top:20px; }
.real-card .profile-button { margin-top:auto; }
.example-label { font-size:11px; font-weight:700; color:#6240a4; background:#f1ecff; padding:9px; border-radius:8px; line-height:1.5; }
.primary:disabled { background:#ddd9e8; color:#625a73; cursor:not-allowed; }
#profile-dialog { max-height:85vh; overflow-y:auto; }
@media(max-width:680px) { .main-nav { justify-content:flex-start; gap:4px 16px; } }

/* Ajustes de lectura para el marketplace: más contenido útil y menos aire. */
.opportunities-section > .container { width:min(1280px,calc(100% - 48px)); }
.opportunities-section .cards { align-items:stretch; }
.op-card { display:flex; flex-direction:column; overflow:hidden; }
.op-card .op-cover-slot { height:154px; flex:0 0 154px; }
.op-card .card-body { display:flex; flex:1; flex-direction:column; padding:16px 18px 17px; }
.op-card h3 { margin:4px 0 7px; font-size:20px; letter-spacing:-.35px; }
.op-card .company-summary { margin:10px 0 11px; padding:10px 0; }
.op-card .company-name { color:var(--cc-navy); font-size:15px; }
.op-card .company-meta { color:var(--cc-blue) !important; font-weight:700; }
.op-card > .card-body > p:not(.example-label):not(.handle) { min-height:0; margin:9px 0 7px; }
.op-card .op-summary { display:grid; grid-template-columns:auto 1fr; column-gap:9px; row-gap:2px; margin:11px 0 15px; padding:10px 11px; border-radius:10px; background:#f4f6fb; }
.op-card .op-summary dt { margin-top:0; color:#72809a; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.op-card .op-summary dd { margin:0; color:var(--cc-navy); font-size:13px; font-weight:700; }
.op-card .profile-button { margin-top:auto; }
.op-card .op-cover { filter:saturate(.88); }

@media(max-width:680px) {
  .opportunities-section > .container { width:calc(100% - 32px); }
  .op-card .op-cover-slot { height:168px; flex-basis:168px; }
}
