.catalog-section{padding-bottom:70px}.catalog-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid #34383d;border-radius:30px;padding:12px 17px;color:#c5cad1;background:transparent;cursor:pointer;font-size:14px}.filter:hover{border-color:#8d969f;color:white}.filter.active{background:#fff;border-color:#fff;color:#07090a}.search-box{display:flex;align-items:center;gap:10px;border:1px solid #41474e;padding:0 15px;min-height:46px;border-radius:6px;width:255px;flex-shrink:0}.search-box:focus-within{border-color:var(--blue-soft);outline:2px solid #087cff40}.search-box svg{width:18px;height:18px;stroke:#b4bdc7;fill:none;stroke-width:1.5;flex-shrink:0}.search-box input{min-width:0;width:100%;border:0;outline:none;background:transparent;color:white;font-size:14px;padding:12px 0}.search-box input::placeholder{color:#9fa8b2}.results-line{display:flex;justify-content:space-between;align-items:center;padding:20px 0 28px;color:#9099a4;font-size:12px}.results-line p{margin:0}.roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 22px}.roster-card{min-width:0}.talent-open{display:block;width:100%;padding:0;text-align:left;background:transparent;color:inherit;border:0;cursor:pointer}.portrait{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#161b21;border-radius:8px}.portrait img{filter:grayscale(1);transition:filter .35s,transform .5s;object-position:center 25%}.portrait:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008)}.talent-open:hover img,.talent-open:focus-visible img{filter:none;transform:scale(1.035)}.talent-open h2{font-size:20px;letter-spacing:-.035em;margin:18px 0 8px;font-weight:500}.talent-open:hover h2{color:var(--blue-soft)}.talent-category{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:#a2abb6}.social-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:15px}.social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:32px;min-height:36px;color:#d7dde3}.social-link:hover{color:var(--blue-soft)}.social-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sample-note{font-size:12px;color:#9ca6b3;line-height:1.6;margin:0 0 24px}.empty-state{text-align:center;padding:70px 20px;border:1px solid #30363c;border-radius:12px}.empty-state h2{font-size:30px;font-weight:500;letter-spacing:-.04em}.empty-state p{color:#a7b1bf;line-height:1.8}.empty-state .button{margin-top:14px}[hidden]{display:none!important}
dialog{padding:0;border:1px solid #353c46;color:white;background:#0d1116;border-radius:16px;max-height:90dvh;max-width:calc(100vw - 32px);width:980px;overflow:auto;box-shadow:0 35px 100px #0008}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.dialog-close{position:sticky;top:16px;float:right;right:16px;margin:16px 16px -60px 0;z-index:3;width:40px;height:40px;border-radius:50%;background:#07090ad9;border:1px solid #ffffff65;color:white;font-size:27px;cursor:pointer}.profile-layout{display:grid;grid-template-columns:.85fr 1.15fr}.profile-image{height:100%;min-height:570px;max-height:760px;object-position:center top}.profile-details{padding:52px 38px 35px}.profile-details h2{font-size:clamp(34px,4vw,48px);letter-spacing:-.05em;line-height:1.05;margin:16px 0 20px}.profile-details>p{color:#b7c0cb;font-size:15px;line-height:1.8}.profile-details h3{font-size:13px;letter-spacing:.13em;text-transform:uppercase;margin:28px 0 8px;color:#aab7c7;font-weight:500}.profile-details .social-link{border:1px solid #37414d;padding:9px 12px;border-radius:6px;font-size:13px}.profile-details .tags{margin-top:20px}.profile-details .tag{font-size:12px;padding:7px 11px}.spotify-player,.soundcloud-player{width:100%;height:152px;border:0;border-radius:12px;margin-top:12px}.soundcloud-player{height:166px;border-radius:8px}.profile-details .booking-link{width:100%;margin-top:26px;justify-content:space-between}.profile-details .sample-note{font-size:12px;margin:18px 0 0;color:#8895a5}
@media(max-width:1100px){.catalog-tools{align-items:flex-start;flex-direction:column;gap:18px}.search-box{width:100%}.roster-grid{gap:34px 18px}.talent-open h2{font-size:18px}}
@media(max-width:850px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details{padding:48px 25px 25px}.profile-image{min-height:620px}}
@media(max-width:600px){.filters{gap:8px}.filter{font-size:13px;padding:11px 14px}.catalog-tools{padding:20px 0}.results-line{font-size:12px;padding:20px 0}.results-line>span{display:none}.roster-grid{gap:28px 14px}.talent-open h2{font-size:18px;line-height:1.15;margin-top:14px}.talent-category{font-size:10px;letter-spacing:.1em;line-height:1.6}.social-links{gap:8px;margin-top:9px}.portrait{border-radius:6px}.catalog-section{padding-bottom:42px}.profile-layout{grid-template-columns:1fr}.profile-image{min-height:0;height:310px;object-position:center 25%}.profile-details{padding:28px 23px}.profile-details h2{font-size:37px}.profile-details .social-link{font-size:12px}dialog{max-height:93dvh;max-width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){.portrait img{transition:none}}
.photo-fallback{display:grid;place-items:center;min-height:100%;padding:24px;background:linear-gradient(140deg,#122338,#080c12);color:#8cabcf;text-align:center;font-size:24px;letter-spacing:-.04em}.profile-photo-wrap{background:#142032}
/* Shared page rhythm: photographic hero, white content, dark closing. */
.catalog-hero .hero-image img{object-position:center 30%}
.catalog-light{padding:48px 0 64px;color:#07090a}
.catalog-light .catalog-section{padding-bottom:0}
.catalog-light .catalog-tools{border-color:#dce1e6}
.catalog-light .catalog-tools{border-top:0;padding-top:0}
.catalog-light .filter{border-color:#cfd5dc;color:#505964}
.catalog-light .filter:hover{border-color:#087cff;color:#0067d8}
.catalog-light .filter.active{background:#07090a;border-color:#07090a;color:white}
.catalog-light .search-box{border-color:#cfd5dc;background:#fff}
.catalog-light .search-box input{color:#171c23}
.catalog-light .search-box svg,.catalog-light .search-box input::placeholder{color:#687380;stroke:#687380}
.catalog-light .results-line,.catalog-light .sample-note{color:#66717e}
.catalog-light .talent-category{color:#626d79}
.catalog-light .social-link{color:#404b58}
.catalog-light .social-link:hover,.catalog-light .talent-open:hover h2{color:#0067d8}
.catalog-light .empty-state{border-color:#dce1e6;background:#f7f9fb}
.catalog-light .empty-state p{color:#626d79}
@media(max-width:600px){.catalog-light{padding:30px 0 44px}}

.profile-details>p{white-space:pre-line}

/* Black containers (dialogs) with white text, shared by events and talents. */
dialog{background:#07090a;border-color:#26292d}

.photo-fallback{background:linear-gradient(140deg,#1a1d20,#07090a);color:#a8aaac}.profile-photo-wrap{background:#111416}
.profile-details>p{color:#aeb4bc}.profile-details h3{color:#a8aaac}
.profile-details .social-link{border-color:rgba(255,255,255,.2)}.profile-details .social-link:hover{border-color:var(--blue);color:#fff;background:var(--blue)}
.tag{border-color:rgba(255,255,255,.2);color:#c8cdd4}
/* Talent photo: glass "Ver perfil" chip that opens on hover (icon only on touch screens). */
.portrait .profile-cta{position:absolute;right:12px;bottom:12px}
/* Pop-ups: content sized to fit the screen; when it still has to scroll, no visible scrollbar. */
dialog{scrollbar-width:none;overscroll-behavior:contain}
dialog::-webkit-scrollbar{display:none}
.profile-layout{align-items:stretch}
.profile-photo-wrap{min-height:440px;max-height:min(760px,90dvh)}
.profile-image{min-height:0;max-height:none;height:100%}
.profile-details{padding:40px 36px 30px}
.profile-details h2{margin:12px 0 16px}
.profile-details h3{margin:22px 0 8px}
.profile-details .tags{margin-top:16px}
.spotify-player{height:80px;margin-top:10px}
.profile-details .booking-link{margin-top:22px}
@media(max-width:600px){.profile-photo-wrap{min-height:0;max-height:none}.profile-image{height:min(270px,34dvh)}.profile-details{padding:24px 20px 26px}}
/* Represented talent: small AURAVIRAL mark on the card, tag in the profile. */
.represented-badge{position:absolute;top:12px;left:12px;z-index:2;padding:6px 10px;border-radius:999px;background:rgba(7,9,10,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1}
.represent-tag{display:table;margin-top:12px;padding:6px 12px;border:1px solid rgba(77,163,255,.5);border-radius:999px;color:#4da3ff;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}


/* Perfil: "Consultar talento" y "Compartir perfil" lado a lado; en celular, uno debajo del otro. */
.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.profile-details .profile-actions .booking-link{margin-top:0;width:100%;justify-content:center}
body .profile-details .profile-share{width:100%;gap:10px;background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
body .profile-details .profile-share:hover{background:#087cff;border-color:#087cff}
.profile-share .icon{width:17px;height:17px}
.profile-details .share-status{margin:12px 0 0;font-size:13px;line-height:1.6;color:#4da3ff;text-align:center}
.profile-details .share-status:empty{display:none}
.profile-details .share-link{display:block;margin-top:6px;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.06);color:#fff;word-break:break-all;user-select:all}
@media(max-width:600px){.profile-actions{grid-template-columns:1fr}}
