//* Tipografía: Poppins en toda la web (cargada vía Google Fonts en
   enqueue_assets()). body cubre el sitio entero; el segundo selector
   refuerza nuestras propias secciones por si el theme trae algo más
   específico que compita. */
body { font-family: 'Poppins', sans-serif; }
.pc-dashboard, .pc-form, .pc-table, .pc-busquedas-abiertas, .pc-busquedas-privadas,
.pc-mis-proyectos, .pc-mis-roles, .pc-castings, .pc-configuracion, .pc-ver-perfil-artista, .pc-ver-perfil-empleador,
.pc-personaje-card, .pc-postulante-card, .pc-modal-contenido, .pc-proyectos-roles-home {
	font-family: 'Poppins', sans-serif;
}

.pc-form p { margin-bottom: 14px; }
.pc-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.pc-form input, .pc-form textarea, .pc-form select { width: 100%; padding: 8px; box-sizing: border-box; }
.pc-form button { padding: 10px 20px; cursor: pointer; }
.pc-progress-bar { background: #eee; border-radius: 20px; height: 14px; overflow: hidden; margin: 10px 0; }
.pc-progress-fill { background: #2271b1; height: 100%; transition: width .3s ease; }
.pc-table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.pc-table th, .pc-table td { text-align: left; padding: 8px; border-bottom: 1px solid #eee; }
.pc-badge { padding: 3px 8px; border-radius: 4px; font-size: 11px; text-transform: uppercase; }
.pc-busqueda-card, .pc-busqueda-panel { border: 1px solid #ddd; border-radius: 6px; padding: 16px; margin-bottom: 16px; }
.pc-notif-widget ul { list-style: none; padding: 0; }
.pc-notif-widget li { padding: 8px 0; border-bottom: 1px solid #eee; }
.pc-notif-widget .pc-no-leido { font-weight: 700; }

.pc-preferencias-notif { max-width: 700px; }
.pc-tabla-notif-prefs th, .pc-tabla-notif-prefs td { vertical-align: middle; }
.pc-switch { display: inline-flex; align-items: center; gap: 6px; font-weight: normal; cursor: pointer; }
.pc-switch input { width: auto; margin: 0; }
.pc-notice { padding: 10px 14px; border-radius: 4px; margin: 12px 0; }
.pc-notice-warning { background: #fff3cd; color: #856404; border: 1px solid #ffe69c; }

:root {
	--pc-bg: #13111E;
	--pc-bg-caja: #1c1929;
	--pc-borde: #322d44;
	--pc-texto: #f0f0f2;
	--pc-texto-suave: #b8b4c9;
	--pc-acento: #5E69DF;
	--pc-acento-inicio: #6E56EA;
	--pc-acento-fin: #803EFA;
	--pc-acento-hover: #4b56cc;
	--pc-institucional: #0AC3BD;
	--pc-institucional-inicio: #26B8B8;
	--pc-institucional-fin: #0ADBA4;
}

.pc-gradiente-violeta { background: linear-gradient( 135deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) ); }
.pc-gradiente-institucional { background: linear-gradient( 135deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ); }

body.page,
body.single,
body:has(.pc-dashboard),
body:has(.pc-form-perfil),
body:has(.pc-mis-proyectos),
body:has(.pc-mis-roles),
body:has(.pc-busquedas-abiertas),
body:has(.pc-busquedas-privadas),
body:has(.pc-ver-perfil-artista),
body:has(.pc-ver-perfil-empleador),
body:has(.pc-castings),
body:has(.pc-configuracion),
body:has(.pc-preferencias-notif) {
	background: var( --pc-bg );
	color: var( --pc-texto );
}

.pc-dashboard,
.pc-form-perfil,
.pc-mis-proyectos,
.pc-mis-roles,
.pc-busquedas-abiertas,
.pc-busquedas-privadas,
.pc-ver-perfil-artista,
.pc-ver-perfil-empleador,
.pc-preferencias-notif,
.pc-proyectos-roles {
	color: var( --pc-texto );
}

.pc-form,
.pc-table,
.pc-proyecto-panel,
.pc-personaje-card,
.pc-postulante-card,
.pc-perfil-cta,
.pc-tabla-detalle,
.widefat.pc-tabla-detalle,
table.widefat {
	background: var( --pc-bg-caja );
	border: 1px solid var( --pc-borde );
	border-radius: 10px;
	padding: 20px;
	color: var( --pc-texto );
}

.pc-table { display: block; width: 100%; border: none; background: transparent; border-collapse: unset; }
.pc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.pc-table tbody { display: block; }
.pc-table tr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	background: var( --pc-bg-caja );
	border: 1px solid var( --pc-borde );
	border-radius: 999px;
	padding: 14px 26px;
	margin-bottom: 12px;
}
.pc-table td { border: none; padding: 0; color: var( --pc-texto-suave ); font-size: 13px; }
.pc-table .pc-acciones-fila { margin-left: auto; }

.widefat th {
	background: rgba( 94, 105, 223, 0.12 );
	color: var( --pc-texto );
	border-bottom: 1px solid var( --pc-borde );
}
.widefat td {
	border-bottom: 1px solid var( --pc-borde );
	color: var( --pc-texto-suave );
}

.pc-form-perfil h2,
.pc-dashboard h2,
.pc-mis-proyectos h2,
.pc-mis-roles h2,
.pc-busquedas-privadas h2,
.pc-ver-perfil-artista h2,
.pc-ver-perfil-empleador h2 {
	color: var( --pc-acento );
	border-bottom: 2px solid var( --pc-acento );
	padding-bottom: 6px;
	margin-top: 28px;
}

.pc-form input:not([type="checkbox"]):not([type="file"]),
.pc-form select,
.pc-form textarea {
	background: #0f0f16;
	border: 1px solid var( --pc-borde );
	color: var( --pc-texto );
}
.pc-form input::placeholder,
.pc-form textarea::placeholder { color: #6b6b78; }

.pc-btn {
	background: var( --pc-acento );
}
.pc-btn:hover { background: var( --pc-acento-hover ); }
.pc-btn-outline { border-color: var( --pc-acento ); color: var( --pc-acento ); }
.pc-btn-outline:hover { background: var( --pc-acento ); color: #fff; }

.pc-personaje-datos li,
.pc-cv-check { background: rgba( 94, 105, 223, 0.15 ); color: var( --pc-texto ); }

.pc-checks-grid label,
.pc-check label { color: var( --pc-texto-suave ); }

.pc-badge { background: rgba( 94, 105, 223, 0.2 ); color: var( --pc-texto ); }
.pc-badge-confirmado { background: #1f4d2e; color: #a8e6b8; }
.pc-badge-descartado { background: #4d1f1f; color: #f0a8a8; }
.pc-badge-preseleccionado { background: #4d3f1f; color: #f0dba8; }

.pc-avatar-circular {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var( --pc-acento );
	flex-shrink: 0;
	background: var( --pc-bg-caja );
}
.pc-avatar-vacio {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 42px;
	color: var( --pc-texto-suave );
}
.pc-perfil-cabecera {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}
.pc-perfil-cabecera-texto h1 { margin: 0 0 2px; }
.pc-postulante-foto.pc-avatar-circular {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}
.pc-notif-prefs-feedback { min-height: 20px; margin-top: 10px; font-size: 13px; color: #2271b1; }

.pc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.pc-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
@media (max-width: 700px) {
	.pc-grid-2, .pc-grid-3 { grid-template-columns: 1fr; }
}
.pc-form-perfil h2 { margin-top: 28px; border-bottom: 2px solid #2271b1; padding-bottom: 6px; }
.pc-form-perfil h3, .pc-form-perfil h4, .pc-form-perfil h5 { margin-top: 18px; }
.pc-check label { display: flex; align-items: center; gap: 8px; font-weight: normal; }
.pc-check input { width: auto; }
.pc-checks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 6px 12px; margin: 10px 0; }
.pc-checks-grid label { display: flex; align-items: center; gap: 6px; font-weight: normal; }
.pc-checks-grid input { width: auto; }

.pc-foto-slot { text-align: center; }
.pc-foto-preview { max-width: 100%; border-radius: 6px; margin-bottom: 8px; display: block; }

.pc-accesos-empleador { display: flex; gap: 12px; margin: 16px 0; }
.pc-btn { display: inline-block; padding: 10px 18px; background: #2271b1; color: #fff; border-radius: 4px; text-decoration: none; cursor: pointer; border: none; }
.pc-btn:hover { background: #135e96; color: #fff; }
.pc-btn-mini { padding: 6px 12px; font-size: 13px; }
.pc-btn[disabled], .pc-btn-mini[disabled] { opacity: 0.5; cursor: not-allowed; }

.pc-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 16px 0; }

.pc-busquedas-abiertas .pc-cards-grid,
.pc-busquedas-privadas .pc-cards-grid {
	grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
	.pc-busquedas-abiertas .pc-cards-grid,
	.pc-busquedas-privadas .pc-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.pc-busquedas-abiertas .pc-cards-grid,
	.pc-busquedas-privadas .pc-cards-grid {
		grid-template-columns: 1fr;
	}
}

a.pc-btn.btn-secundario {
    color: white !important;
    background: linear-gradient(135deg, #26B8B8, #0ADBA4) !important;
    font-weight: 600;
}

a.pc-btn.btn-secundario:hover{
    opacity: 0.95;
}

.pc-btn-pildora {
	display: inline-block;
	padding: 10px 22px;
	background: linear-gradient( 135deg, #6E56EA, #803EFA );
	color: #fff;
	border: none;
	border-radius: 999px;
	font-weight: 600;
	font-size: 13px;
	text-align: center;
	cursor: pointer;
	text-decoration: none;
	opacity: 0.88;
	transition: opacity .15s;
}
.pc-btn-pildora:hover { opacity: 1; color: #fff; }
.pc-btn-pildora[disabled] { opacity: 0.35; cursor: not-allowed; }
.pc-btn-ancho { display: block; width: 100%; margin-top: 8px; }
.pc-acciones-fila { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.pc-personaje-card {
	background: #13111E;
	border: 1px solid #53666D;
	border-radius: 18px;
	padding: 22px;
}
.pc-personaje-titulo { margin: 0 0 2px; font-size: 17px; font-weight: 600; color: #ffffff; }
.pc-personaje-subtitulo { margin: 0 0 16px; font-style: italic; font-weight: 400; color: #dddddd; font-size: 13px; }

.pc-personaje-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-areas:
		"edad origen idioma"
		"contextura estatura ."
		"tez ubicacion boton";
	gap: 16px 12px;
	align-items: start;
}
.pc-dato-edad { grid-area: edad; }
.pc-dato-origen { grid-area: origen; }
.pc-dato-idioma { grid-area: idioma; }
.pc-dato-contextura { grid-area: contextura; }
.pc-dato-estatura { grid-area: estatura; }
.pc-dato-tez { grid-area: tez; }
.pc-dato-ubicacion { grid-area: ubicacion; }
.pc-personaje-cta { grid-area: boton; display: flex; align-items: flex-end; justify-content: flex-end; }

.pc-dato { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc-dato-label { font-weight: 600; font-size: 12px; color: #ffffff; white-space: nowrap; }
.pc-dato-valor {
	font-size: 13px;
	font-weight: 400;
	color: #dddddd;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}


.pc-proyecto-panel { border: 1px solid #ddd; border-radius: 6px; padding: 16px; margin-bottom: 16px; }
.pc-roles-panel { margin-top: 16px; border-top: 1px dashed #ccc; padding-top: 16px; }

.pc-buscador-privado { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 20px; }
.pc-buscador-privado p { margin: 0; min-width: 220px; }

.pc-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 20px; }
.pc-modal-contenido {
	background: #13111E;
	border: 1px solid #53666D;
	border-radius: 18px;
	padding: 28px;
	max-width: 640px;
	width: 100%;
	position: relative;
	max-height: 85vh;
	overflow-y: auto;
	color: #dddddd;
}
.pc-modal-contenido h3 { color: #ffffff; font-weight: 600; margin: 0 0 16px; padding-right: 24px; }
.pc-modal-cerrar { position: absolute; top: 14px; right: 16px; background: none; border: none; font-size: 22px; cursor: pointer; color: #dddddd; line-height: 1; }
.pc-modal-lista { list-style: none; padding: 0; margin: 0 0 20px; column-count: 2; column-gap: 20px; }
.pc-modal-lista li { padding: 8px 0; border-bottom: 1px solid #322d44; font-size: 13.5px; color: #dddddd; break-inside: avoid; }
.pc-modal-lista li strong { color: #ffffff; font-weight: 600; }

.pc-tabla-detalle th { width: 220px; text-align: left; background: #f6f7f7; }
.pc-tabla-detalle td { white-space: pre-line; }
.pc-perfil-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.pc-perfil-acciones button.pc-btn { border: none; cursor: pointer; font: inherit; }

.pc-btn-outline { background: transparent; border: 1px solid #2271b1; color: #2271b1; }
.pc-btn-outline:hover { background: #2271b1; color: #fff; }

.pc-perfil-cabecera h1 { margin-bottom: 2px; }
.pc-perfil-genero { color: #666; font-style: italic; margin-top: 0; }
.pc-red-social { display: inline-block; margin: 0 10px 6px 0; }
.pc-perfil-cta { background: #f6f7f7; border-radius: 8px; padding: 20px; margin-top: 24px; }
.pc-cv-check { display: inline-block; background: rgba( 94, 105, 223, 0.15 ); border: 1px solid var( --pc-borde ); color: var( --pc-texto ); border-radius: 4px; padding: 4px 10px; margin: 2px 4px 2px 0; font-size: 12px; }
.pc-checks-grid-solo-lectura { display: block; }

@media print {
	.pc-perfil-acciones, header, footer, nav { display: none !important; }
	body { background: #fff !important; color: #000 !important; }
	.pc-tabla-detalle th { background: #f0f0f0 !important; -webkit-print-color-adjust: exact; }
}

.pc-subtitulo { color: var( --pc-texto-suave ); margin-top: -8px; margin-bottom: 20px; }

.pc-accesos-grandes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-top: 24px; }
.pc-acceso-grande {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px;
	background: var( --pc-bg-caja ); border: 1px solid var( --pc-borde ); border-radius: 12px;
	padding: 32px 20px; text-decoration: none; color: var( --pc-texto ); transition: border-color .15s, transform .15s;
}
.pc-acceso-grande:hover { border-color: var( --pc-acento ); transform: translateY(-2px); color: var( --pc-texto ); }
.pc-acceso-icono { font-size: 36px; }
.pc-acceso-titulo { font-size: 18px; font-weight: 700; color: var( --pc-acento ); }
.pc-acceso-desc { color: var( --pc-texto-suave ); font-size: 13px; }

.pc-castings h1 { color: var( --pc-texto ); margin-bottom: 2px; }

.pc-configuracion h1 { margin-bottom: 20px; }
.pc-configuracion h2 { color: var( --pc-acento ); border-bottom: 2px solid var( --pc-acento ); padding-bottom: 6px; margin-top: 32px; }
.pc-switch-disabled { opacity: 0.45; cursor: not-allowed; }

.pc-btn-logout { background: transparent; border: 1px solid var( --pc-borde ); }
.pc-btn-logout:hover { background: rgba(255,255,255,0.06); color: var( --pc-texto ); }

.pc-perfil-seccion {
	background: #13111E;
	border: 1px solid #3c3c3c;
	border-radius: 16px;
	padding: 24px 26px;
	margin-bottom: 20px;
	font-family: 'Poppins', sans-serif;
}
.pc-perfil-seccion h2 {
	margin-top: 0;
	font-weight: 700;
	color: var( --pc-acento );
	border-bottom: 2px solid var( --pc-acento );
	padding-bottom: 8px;
	display: inline-block;
}
.pc-perfil-seccion label {
	font-weight: 500;
	color: var( --pc-texto );
}
.pc-perfil-seccion input,
.pc-perfil-seccion select,
.pc-perfil-seccion textarea {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}
.pc-perfil-seccion input::placeholder,
.pc-perfil-seccion textarea::placeholder {
	color: #3c3c3c;
	font-weight: 400;
}
.pc-perfil-seccion .pc-btn {
	margin-top: 30px;
	background: linear-gradient( 135deg, #6E56EA, #803EFA );
	border: none;
	font-family: 'Poppins', sans-serif;
	opacity: 1;
	transition: opacity 0.2s ease;
}
.pc-perfil-seccion .pc-btn:hover { opacity: 0.92; }

.pc-perfil-seccion input[type="file"] button{
	background: #DDDDDD;
	border: 1px solid #3c3c3c;
	border-radius: 8px;
	padding: 8px 12px;
	cursor: pointer;
}

.pc-requerido { color: #cc0000; margin-left: 2px; }

.pc-perfil-progreso {
	background: #333333;
	border-radius: 999px;
	height: 16px;
	margin: 10px 0 20px;
	overflow: hidden;
	position: relative;
}
.pc-perfil-progreso-relleno {
	background: #F5A623;
	height: 100%;
	width: 0%;
	transition: width 0.25s ease;
	border-radius: 999px;
	position: relative;
}
.pc-perfil-progreso-texto {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-size: 10px;
	font-weight: 600;
	white-space: nowrap;
}

.pc-perfil-otro-campo { margin-top: 8px; }
.pc-perfil-preview {
	text-align: center;
	margin: 30px 0;
}

.pc-modal-registro .pc-modal-contenido {
	background: #ffffff;
	border: 5px solid transparent;
	border-radius: 22px;
	background-image: linear-gradient( #ffffff, #ffffff ), linear-gradient( 135deg, #26B8B8, #0ADBA4 );
	background-origin: border-box;
	background-clip: padding-box, border-box;
	padding: 32px 30px;
	max-width: 460px;
	text-align: center;
	font-family: 'Poppins', sans-serif;
}
.pc-modal-registro-icono { display: block; margin: 0 auto 16px; max-width: 100px !important; }
.pc-modal-registro-titulo { font-weight: 600; color: #13111E; margin: 0 0 14px; font-size: 19px; }

.pc-modal-registro .pc-modal-contenido h3 {
	text-align: left !important;
	color: #000000 !important;
	font-size: 18px !important;
}
@media (max-width: 1024px) {
	.pc-modal-registro .pc-modal-contenido h3 { font-size: 17px !important; }
}
@media (max-width: 640px) {
	.pc-modal-registro .pc-modal-contenido h3 { font-size: 16px !important; }
}
.pc-modal-registro-texto { font-weight: 400; color: #000000; margin: 0 0 12px; font-size: 14px; line-height: 1.5; text-align: left; }
.pc-modal-registro-texto strong { font-weight: 600; }
.pc-modal-registro-aclaracion { font-weight: 400; font-style: italic; color: #000000; margin: 4px 0 20px; font-size: 13px; }
.pc-modal-registro-cta { text-align: center; }
.pc-btn-registro-aceptar {
	background: linear-gradient( 90deg, #26B8B8, #0ADBA4 );
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 8px 40px !important;
	font-family: 'Poppins', sans-serif;
	font-weight: 600 !important;
	cursor: pointer !important;
}
.pc-btn-registro-aceptar:hover {
	background: linear-gradient( 180deg, #26B8B8, #0ADBA4 );
	opacity: 0.90;
}
.pc-modal-registro .pc-modal-cerrar {
	color: #000000 !important;
	transition: color 0.2s ease;
}
.pc-modal-registro .pc-modal-cerrar:hover { color: #444444 !important; }

.pc-perfil-seccion h2,
.pc-form-perfil h2 {
	color: #ffffff !important;
	border-bottom: none !important;
	padding-bottom: 5px !important;
}

.pc-perfil-seccion .pc-btn,
.pc-form-perfil .pc-btn {
	background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important;
}

input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button,
input[type="file"] button {
	background: #DDDDDD !important;
	border: 1px solid #3c3c3c !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	cursor: pointer !important;
	font-family: 'Poppins', sans-serif !important;
}

.pc-form input:not([type="checkbox"]):not([type="file"]),
.pc-form select,
.pc-form textarea {
	background: #ffffff !important;
	border: none !important;
	border-radius: 10px !important;
	color: #13111E !important;
}
.pc-form input::placeholder,
.pc-form textarea::placeholder {
	color: #3c3c3c !important;
}

.pc-perfil-seccion form > button[type="submit"],
.pc-form-perfil form > button[type="submit"],
form.pc-perfil-seccion > button[type="submit"] {
	display: block !important;
	margin-left: auto !important;
}

.pc-grid-4 { display: grid; grid-template-columns: repeat( 4, 1fr ); gap: 0 20px; }
@media ( max-width: 900px ) {
	.pc-grid-4 { grid-template-columns: repeat( 2, 1fr ); }
}
@media ( max-width: 600px ) {
	.pc-grid-4 { grid-template-columns: 1fr; }
}

.pc-perfil-preview {
	text-align: left !important;
	margin: 30px 0 !important;
}
.pc-perfil-preview .pc-btn {
	background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important;
	border-radius: 8px !important;
	padding: 10px 18px !important;
}

.pc-perfil-seccion input:disabled,
.pc-perfil-seccion select:disabled,
.pc-perfil-seccion textarea:disabled {
	opacity: 0.8 !important;
	cursor: not-allowed !important;
}

.pc-perfil-espaciador { height: 1.5rem; }

.pc-perfil-subtexto { font-style: italic; color: var( --pc-texto-suave ); font-size: 13px; margin: -8px 0 16px; }

.pc-checks-grid-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 20px;
}
.pc-checks-grid-2col label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	min-height: 44px;
	box-sizing: border-box;
}
.pc-checks-grid-2col label input[type="checkbox"] {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin: 0;
}
@media ( max-width: 600px ) { .pc-checks-grid-2col { grid-template-columns: 1fr; } }

.pc-checks-grid-4col { display: grid; grid-template-columns: repeat( 4, 1fr ); gap: 8px 16px; }
@media ( max-width: 900px ) { .pc-checks-grid-4col { grid-template-columns: repeat( 2, 1fr ); } }
@media ( max-width: 600px ) { .pc-checks-grid-4col { grid-template-columns: 1fr; } }

.pc-foto-slot input[type="file"] { display: block; width: 100%; }
.pc-grid-3 input[type="file"],
.pc-grid-2 input[type="file"] {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}
.pc-perfil-seccion label { display: block !important; }
.pc-foto-caption { font-size: 11.5px; margin-top: 6px; line-height: 1.4; }
.pc-foto-caption strong { font-style: italic; font-weight: 700; display: block; }
.pc-foto-caption span { font-style: italic; color: var( --pc-texto-suave ); }
.pc-foto-actual-titulo { font-weight: 600; text-align: center; }
.pc-foto-actual-wrap { display: flex; align-items: center; justify-content: center; min-height: 120px; }

/* Fotos y links: 3 columnas en desktop/laptop, 1 en mobile.
   !important para que gane siempre, sin importar el orden de las reglas
   anteriores que tocan "input[type=file]" dentro de .pc-perfil-seccion. */
.pc-fotos-grid,
.pc-perfil-seccion .pc-fotos-grid,
div.pc-fotos-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	grid-auto-flow: row !important;
	gap: 20px !important;
	width: 100% !important;
}
/* Perfil de Artista (solo lectura): barrita de acento arriba del título,
   grilla de "Label: valor" en 2 columnas en vez de tabla, bloques de texto
   largo full-width, íconos de redes, y el CTA final sin caja (va directo
   sobre el fondo de la página, como en el diseño). */
.pc-ver-perfil-artista .pc-perfil-seccion h2::before,
.pc-ver-perfil-empleador .pc-perfil-seccion h2::before,
.pc-configuracion .pc-perfil-seccion h2::before {
	content: '';
	display: block;
	width: 32px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient( 90deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) );
	margin-bottom: 10px;
}
.pc-detalle-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 24px;
}
.pc-detalle-grid p { margin: 0; padding: 6px 0; color: var( --pc-texto-suave ); font-size: 15.5px; }
.pc-detalle-grid p strong { color: var( --pc-texto ); font-weight: 600; }
@media ( max-width: 640px ) { .pc-detalle-grid { grid-template-columns: 1fr; } }

.pc-detalle-bloque-titulo { margin: 16px 0 2px; }
.pc-detalle-bloque-titulo:first-child { margin-top: 0; }
.pc-detalle-bloque-titulo strong { color: var( --pc-texto ); }
.pc-detalle-bloque-texto { margin: 0 0 4px; color: var( --pc-texto-suave ); font-size: 14px; line-height: 1.5; }

/* El form de Proyecto va con botón teal (como la píldora "Mis Proyectos"),
   no violeta — necesita más especificidad que la regla global de .pc-btn. */
.pc-label-oculta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.pc-select-con-icono { position: relative; }
.pc-select-icono {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var( --pc-acento );
	font-size: 14px;
	pointer-events: none;
	z-index: 1;
}
.pc-select-con-icono select { padding: 14px 16px 14px 38px !important; font-size: 15px; }
.pc-buscador-privado { gap: 16px; }
.pc-buscador-privado p { margin-bottom: 0; min-width: 240px; }
.pc-buscador-privado .pc-btn { padding: 14px 32px; font-size: 15px; font-weight: 700; }

/* Form de Rol: Habilidades / Idioma / Información Adicional en 3 columnas
   lado a lado, cada una de una sola columna con el checkbox a la derecha. */
.pc-rol-3col {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 0 30px;
	margin: 20px 0;
}
.pc-rol-3col h4 { margin: 0 0 10px; color: var( --pc-texto ); }
.pc-check-fila {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	font-weight: 400 !important;
	color: var( --pc-texto-suave );
}
.pc-check-fila input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; margin: 0; }
@media ( max-width: 900px ) { .pc-rol-3col { grid-template-columns: 1fr; gap: 20px; } }

#pc-form-proyecto.pc-perfil-seccion > button[type="submit"].pc-btn {
	background: linear-gradient( 90deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ) !important;
}

.pc-redes-iconos { display: flex; gap: 10px; margin-top: 8px; }
.pc-red-icono {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var( --pc-acento );
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-size: 14px;
}
.pc-red-icono:hover { opacity: 0.85; color: #fff; }

.pc-perfil-cta-plana { margin-top: 24px; }
.pc-perfil-cta-plana p { color: var( --pc-texto-suave ); }
.pc-perfil-cta-plana p strong { color: var( --pc-texto ); font-size: 16px; }

.pc-pildora-seccion {
	display: inline-block;
	padding: 8px 20px;
	border-radius: 999px;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	margin-bottom: 16px;
}
.pc-pildora-institucional { background: linear-gradient( 90deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ); }
.pc-pildora-violeta { background: linear-gradient( 90deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) ); }
.pc-pildora-seccion:hover { opacity: 0.9; color: #fff; }

.pc-fotos-grid > .pc-foto-bloque {
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
}
@media ( max-width: 640px ) {
	.pc-fotos-grid,
	.pc-perfil-seccion .pc-fotos-grid,
	div.pc-fotos-grid {
		grid-template-columns: 1fr !important;
	}
	
	.pc-perfil-seccion input {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
}

.pc-foto-preview {
	max-width: 160px !important;
	max-height: 160px !important;
	width: 100% !important;
	height: 160px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
}

.pc-archivo-input {
	position: absolute;
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	z-index: -1;
}
.pc-archivo-wrap { position: relative; display: inline-block; }
.pc-archivo-boton {
    color: #3c3c3c !important;
	background: #DDDDDD;
	border: 1px solid #3c3c3c;
	border-radius: 8px;
	padding: 12px 16px;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
	display: inline-block;
}
.pc-archivo-nombre { display: block; font-size: 12px; color: var(--pc-texto-suave); margin-top: 4px; }
.pc-archivo-boton-disabled {
	opacity: 0.8 !important;
	cursor: not-allowed !important;
	pointer-events: none;
}
/* =========================================================================
   4.10 — Botones unificados, galería del currículum, redes, form de Rol
   ========================================================================= */

/* Medida única para los botones principales: "Guardar cambios" de las
   cajas, las píldoras "Mis Proyectos"/"Mis Roles de búsqueda", y los
   botones de acción del final del currículum. Todo con !important porque
   el theme y reglas viejas pisaban la medida. */
form.pc-perfil-seccion > button[type="submit"].pc-btn,
.pc-perfil-seccion form > button[type="submit"].pc-btn,
a.pc-pildora-seccion,
.pc-perfil-acciones .pc-btn,
.pc-perfil-preview .pc-btn {
	padding: 12px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	border-radius: 8px !important;
	border: none !important;
	color: #ffffff !important;
	text-decoration: none !important;
	text-transform: none !important;
}
a.pc-pildora-seccion:hover,
a.pc-pildora-seccion:focus,
.pc-perfil-acciones .pc-btn:hover,
.pc-perfil-acciones .pc-btn:focus {
	text-decoration: none !important;
	color: #ffffff !important;
}
a.pc-pildora-seccion { display: inline-block !important; margin-bottom: 16px; transition: opacity 0.2s ease; }

/* Botones del final del currículum: mismo estilo que "Guardar cambios". */
.pc-perfil-acciones .pc-btn {
	background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important;
	transition: opacity 0.2s ease;
}
.pc-perfil-acciones .pc-btn.pc-btn-outline {
	background: transparent !important;
	box-shadow: inset 0 0 0 2px #6E56EA; /* borde sin cambiar la medida */
}
.pc-perfil-acciones .pc-btn:hover { opacity: 0.92; }

/* Fotos del currículum: galería estática. Cada foto se ve COMPLETA (nunca
   recortada), con bordes redondeados, centrada vertical y horizontalmente
   dentro de su celda, aunque tengan medidas distintas. */
.pc-galeria-fotos {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) );
	gap: 24px;
	align-items: center;
	justify-items: center;
	padding-bottom: 32px;
}
.pc-galeria-item {
	margin: 0;
	width: 100%;
	min-height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pc-galeria-foto {
	display: block;
	max-width: 100%;
	max-height: 460px;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
}

/* Redes sociales del currículum: íconos blancos, sin fondo, hover sutil. */
.pc-redes-iconos { display: flex; gap: 20px; margin-top: 8px; }
.pc-red-icono {
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	background: none !important;
	color: #ffffff !important;
	font-size: 24px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	transition: opacity 0.2s ease;
}
.pc-red-icono:hover { opacity: 0.9; color: #ffffff !important; }

/* Form de Rol: mismas grillas que el perfil del Artista. */
#pc-form-personaje .pc-checks-grid-2col { display: grid !important; grid-template-columns: 1fr 1fr !important; }
#pc-form-personaje .pc-checks-grid-4col { display: grid !important; grid-template-columns: repeat( 4, 1fr ) !important; gap: 8px 16px; }
@media ( max-width: 900px ) { #pc-form-personaje .pc-checks-grid-4col { grid-template-columns: repeat( 2, 1fr ) !important; } }
@media ( max-width: 600px ) {
	#pc-form-personaje .pc-checks-grid-2col,
	#pc-form-personaje .pc-checks-grid-4col { grid-template-columns: 1fr !important; }
}

/* =========================================================================
   4.11 — Banner del perfil, tarjeta de Búsquedas Privadas, buscador
   centrado, CTA y botón Preseleccionar propio
   ========================================================================= */

/* ---- Cabecera del perfil de Artista: banner + avatar encimado ---- */
.pc-perfil-hero { margin-bottom: 24px; }
.pc-perfil-hero-banner {
	width: 100%;
	height: 300px !important;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 16px 16px 0 0;
}
.pc-perfil-hero-info {
	position: relative;
	min-height: 96px;
	padding: 20px 24px 0 210px;
}
.pc-perfil-hero-avatar.pc-avatar-circular {
	position: absolute;
	left: 36px;
	top: -75px;
	width: 150px;
	height: 150px;
	border: 8px solid var( --pc-bg );
	background: #eef0f5;
}
.pc-perfil-hero-info .pc-perfil-cabecera-texto h1 { margin: 0; font-size: 28px; font-weight: 700; color: #ffffff; }
.pc-perfil-hero-info .pc-perfil-genero { margin: 2px 0 0; font-size: 17px; font-style: italic; color: var( --pc-texto-suave ); }
@media ( max-width: 640px ) {
	.pc-perfil-hero-banner { height: 140px; }
	.pc-perfil-hero-info { padding: 14px 16px 0 148px; min-height: 80px; }
	.pc-perfil-hero-avatar.pc-avatar-circular { left: 16px; top: -50px; width: 110px; height: 110px; border-width: 6px; }
	.pc-perfil-hero-info .pc-perfil-cabecera-texto h1 { font-size: 21px; }
}
/* Empleador: solo el nombre, sin foto */
.pc-perfil-cabecera-sin-avatar { margin-bottom: 20px; }
.pc-perfil-cabecera-sin-avatar h1 { color: #ffffff; }

/* ---- "¿Te interesa este candidato?" ---- */
.pc-perfil-cta-plana .pc-cta-titulo { margin: 0 0 6px; }
.pc-perfil-cta-plana .pc-cta-titulo strong { font-size: 26px !important; font-weight: 700; color: #ffffff !important; }
.pc-perfil-cta-plana .pc-cta-texto { font-size: 16px; color: var( --pc-texto-suave ); margin: 0 0 18px; }

/* ---- Botón "Preseleccionar" (/ver-perfil-artista/): bloque PROPIO.
   Editá acá libremente sin afectar a ningún otro botón del sitio. ---- */
.pc-boton-preseleccionar {
	display: inline-block !important;
	padding: 12px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	border-radius: 8px !important;
	border: none !important;
	color: #ffffff !important;
	background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.pc-boton-preseleccionar:hover { opacity: 0.92; }
.pc-boton-preseleccionar:disabled { opacity: 0.5; cursor: not-allowed; }

/* ---- Búsquedas Privadas: buscador siempre centrado al medio ---- */
.pc-busquedas-privadas { width: 100%; }
.pc-busquedas-privadas .pc-buscador-privado {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	flex-wrap: wrap;
	gap: 16px;
	max-width: 1100px;
	margin: 0 auto 32px !important;
	text-align: center;
}
.pc-busquedas-privadas .pc-buscador-privado p { flex: 1 1 260px; max-width: 420px; margin: 0 !important; }
.pc-busquedas-privadas .pc-buscador-privado .pc-btn { flex: 0 0 auto; margin: 0; }

/* =========================================================================
   4.12 — Búsquedas Privadas con la estructura de Búsquedas Abiertas,
   botón sin subrayado, grilla con breakpoints controlados, cabecera
   ========================================================================= */

/* ---- Botón píldora (Ver perfil / + INFO): nunca subrayado ---- */
.pc-btn-pildora,
.pc-btn-pildora:hover,
.pc-btn-pildora:focus,
.pc-btn-pildora:active,
.pc-btn-pildora:visited {
	text-decoration: none !important;
	color: #ffffff !important;
}
/* .pc-btn:hover pintaba el botón de azul: en la card privada se mantiene el violeta */
.pc-postulante-card .pc-btn-pildora:hover { background: linear-gradient( 135deg, #6E56EA, #803EFA ); opacity: 1; }

/* ---- Grilla de cards privadas: 3 → 2 → 1 columnas.
   minmax(0,1fr) evita que un texto largo agrande una columna y rompa la grilla. ---- */
.pc-busquedas-privadas .pc-cards-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 16px;
}
@media ( max-width: 1199px ) {
	.pc-busquedas-privadas .pc-cards-grid { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
}
@media ( max-width: 719px ) {
	.pc-busquedas-privadas .pc-cards-grid { grid-template-columns: minmax( 0, 1fr ); }
}

/* ---- Card del postulante: caja, títulos y datos salen de .pc-personaje-card
   (misma caja, tipografía y espaciado que Búsquedas Abiertas). Acá solo se
   define el reparto interno avatar | datos. ---- */
.pc-postulante-card { container-type: inline-size; }
.pc-postulante-fila { display: flex; align-items: flex-start; gap: 16px; }
.pc-postulante-izq {
	flex: 0 0 120px;                       /* respaldo si no hay container queries */
	flex: 0 0 clamp( 96px, 34cqw, 132px );  /* el avatar se adapta al ancho de la card */
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.pc-postulante-foto {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
	background: #eef0f5;
}
.pc-postulante-izq .pc-btn-pildora { display: block; width: 100%; margin: 0; box-sizing: border-box; padding: 10px 12px; }
.pc-postulante-der { flex: 1 1 0; min-width: 0; }

/* Que nada colapse: los textos largos se parten en vez de recortarse o empujar la caja */
.pc-postulante-der .pc-personaje-titulo { overflow-wrap: anywhere; line-height: 1.2; }
.pc-postulante-der .pc-personaje-subtitulo { margin-bottom: 12px; overflow-wrap: anywhere; }
.pc-postulante-der .pc-dato { margin-bottom: 8px; }
.pc-postulante-der .pc-dato-label { white-space: normal; }
.pc-postulante-der .pc-dato-valor {
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	overflow-wrap: anywhere;
}

/* Si la card queda muy angosta, el avatar pasa arriba y los datos abajo */
@container ( max-width: 270px ) {
	.pc-postulante-fila { flex-direction: column; }
	.pc-postulante-izq { flex: none; width: 132px; }
}

/* ---- Cabecera del perfil: foto SIEMPRE redonda, banner centrado abajo ---- */
.pc-perfil-hero-avatar.pc-avatar-circular {
	border-radius: 50% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	overflow: hidden;
}
.pc-perfil-hero-banner { background-position-y: 85% !important; } /* cambiá "bottom" por "center" o "top" si querés otro encuadre */

/* =========================================================================
   4.14 — Botones de /mis-proyectos/ y /mis-roles/, celdas y badges
   Un gradiente por botón: "Modificar" lleva el color de su propia sección
   y "Eliminar" lleva el otro.
     · Mis Proyectos:  Modificar = teal     · Eliminar = violeta
     · Mis Roles:      Modificar = violeta  · Eliminar = teal
   (Para invertirlos, intercambiá los dos gradientes de cada bloque.)
   Letras blancas y hover con opacity 0.9.
   ========================================================================= */
.pc-mis-proyectos .pc-btn,
.pc-mis-roles .pc-btn {
	color: #ffffff !important;
	border: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	opacity: 1;
	transition: opacity 0.2s ease;
}
.pc-mis-proyectos .pc-btn:hover,
.pc-mis-proyectos .pc-btn:focus,
.pc-mis-roles .pc-btn:hover,
.pc-mis-roles .pc-btn:focus {
	color: #ffffff !important;
	text-decoration: none !important;
	opacity: 0.9 !important;
}

/* Mis Proyectos: Modificar teal / Eliminar violeta */
.pc-mis-proyectos .pc-btn:not(.pc-btn-eliminar-proyecto) {
	background: linear-gradient( 90deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ) !important;
}
.pc-mis-proyectos .pc-btn.pc-btn-eliminar-proyecto {
	background: linear-gradient( 90deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) ) !important;
}

/* Mis Roles: Modificar violeta / Eliminar teal */
.pc-mis-roles .pc-btn:not(.pc-btn-eliminar-rol) {
	background: linear-gradient( 90deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) ) !important;
}
.pc-mis-roles .pc-btn.pc-btn-eliminar-rol {
	background: linear-gradient( 90deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ) !important;
}

/* Celdas de las tablas-píldora: sin fondo propio (el theme les pone uno) */
.pc-table td { background: none !important; }

/* Badges (Estado: Publicado / Borrador / Activo...): un poco más presentes.
   Solo forma, borde y peso: los colores de cada variante (.pc-badge-confirmado,
   etc.) se mantienen. */
.pc-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0.3px;
	border: 1px solid rgba( 255, 255, 255, 0.18 );
}
.pc-badge:not([class*="pc-badge-"]) { background: rgba( 94, 105, 223, 0.3 ); }

/* =========================================================================
   5.5 — Cabecera del perfil: casos sin foto
   ========================================================================= */
.pc-perfil-hero-banner { background-color: #1c1929; }          /* color de respaldo si la imagen no carga */
.pc-perfil-hero-avatar-default { background: #eef0f5 !important; }                           /* foto por defecto (sin foto cargada) */
.pc-perfil-hero-avatar-vacio { display: block; background: var( --pc-bg-caja ) !important; }  /* círculo vacío (Artista sin foto) */
.pc-perfil-hero-info-sin-avatar { padding-left: 24px; min-height: 72px; }                     /* Empleador: solo el nombre */
@media ( max-width: 640px ) {
	.pc-perfil-hero-info-sin-avatar { padding-left: 16px; }
}

/* =========================================================================
   5.6 — [pc_castings]: botones como /mis-proyectos/ y /mis-roles/
   Confirmar = teal (como "Modificar" de Mis Proyectos);
   Descartar / Eliminar = violeta. Letras blancas, hover opacity 0.9.
   ========================================================================= */
.pc-castings .pc-btn {
	color: #ffffff !important;
	border: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
	opacity: 1;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.pc-castings .pc-btn:hover,
.pc-castings .pc-btn:focus {
	color: #ffffff !important;
	text-decoration: none !important;
	opacity: 0.9 !important;
}
.pc-castings .pc-btn:not(.pc-btn-outline) {
	background: linear-gradient( 90deg, var( --pc-institucional-inicio ), var( --pc-institucional-fin ) ) !important;
}
.pc-castings .pc-btn.pc-btn-outline {
	background: linear-gradient( 90deg, var( --pc-acento-inicio ), var( --pc-acento-fin ) ) !important;
}
.pc-castings .pc-acciones-fila { display: flex; gap: 8px; flex-wrap: wrap; }
.pc-castings h1 { font-weight: 700; }

/* =========================================================================
   5.7 — [pc_configuracion]: misma estética que el resto de la web
   Secciones en tarjetas (.pc-perfil-seccion), botón violeta degradé,
   inputs blancos redondeados, switches con el color de acento.
   ========================================================================= */
.pc-configuracion { font-family: 'Poppins', sans-serif; }
.pc-configuracion h1 { color: #ffffff; font-weight: 700; margin-bottom: 20px; }
.pc-configuracion .pc-perfil-seccion h2 { margin-top: 0; }
.pc-configuracion .pc-form { background: transparent; border: none; padding: 0; }
.pc-configuracion .pc-form label { color: #ffffff; }
.pc-configuracion .pc-form-feedback { margin-top: 10px; font-size: 14px; color: var( --pc-texto-suave ); }
.pc-configuracion .pc-notif-prefs-feedback { color: var( --pc-institucional ); font-size: 14px; }
.pc-configuracion .pc-subtitulo { margin-top: 0; }
.pc-configuracion .pc-tabla-notif-prefs td { color: var( --pc-texto ); font-size: 14px; }
.pc-configuracion .pc-tabla-notif-prefs tr { border-radius: 14px; }
.pc-configuracion .pc-switch { color: var( --pc-texto-suave ); font-size: 14px; }
.pc-configuracion .pc-switch input[type="checkbox"] { accent-color: var( --pc-acento-fin ); width: 18px; height: 18px; }
.pc-configuracion .pc-switch-disabled { opacity: 0.45; cursor: not-allowed; }
@media ( max-width: 640px ) {
	.pc-configuracion .pc-perfil-seccion { padding: 18px 16px; }
}

.pc-rol-titulo-link { font-size: 16px; font-weight: 700; }
.pc-modal-lista-1 { column-count: 1; }
.pc-modal-aviso .pc-modal-registro-cta { text-align: center; }

.pc-modal-aviso .pc-modal-cerrar-btn { background: linear-gradient( 135deg, #6E56EA, #803EFA ) !important; color: #fff !important; border: none; }
.pc-modal-aviso .pc-modal-cerrar-btn:hover { opacity: .9; }
.pc-modal-aviso-titulo { margin: 0 0 4px; font-size: 16px; color: #fff; }

/* Menú: foto de perfil circular y elementos solo para usuarios con sesión */
.pc-avatar-menu { display: inline-flex !important; align-items: center; justify-content: center; vertical-align: middle; line-height: 0; margin: 0 !important; padding: 0 !important; }
.pc-avatar-menu img { width: 30px !important; height: 30px !important; max-width: none !important; min-width: 30px; border-radius: 50% !important; object-fit: cover; display: block !important; margin: 0 !important; }
/* El enlace del menú que contiene la foto: centrado vertical con el resto de los ítems */
a:has(> .pc-avatar-menu), .elementor-item:has(.pc-avatar-menu), .uael-menu-item:has(.pc-avatar-menu) { display: inline-flex !important; align-items: center !important; }
li:has(> a > .pc-avatar-menu) { display: flex; align-items: center; }
body:not(.logged-in) .pc-solo-logueados { display: none !important; }
.pc-modal-pie { margin: 16px 0 12px; color: #dddddd; }

/* Modal de preselección exitosa */
.pc-modal-presel .pc-modal-contenido { padding: 0; max-width: 460px; overflow: hidden; text-align: center; font-family: 'Poppins', sans-serif; background: #ffffff; border: 5px solid transparent; border-radius: 22px; background-image: linear-gradient( #ffffff, #ffffff ), linear-gradient( 135deg, #26B8B8, #0ADBA4 ); background-origin: border-box; background-clip: padding-box, border-box; }
.pc-presel-cab { position: relative; background: #2b2b2b; padding: 30px 20px 26px; }
.pc-presel-icono { display: block; margin: 0 auto 14px; width: 84px; height: 84px; max-width: none !important; }
.pc-presel-cab-titulo { margin: 0; color: #ffffff; font-size: 21px; font-weight: 600; text-transform: uppercase; letter-spacing: .2px; }
.pc-modal-presel .pc-modal-cerrar { color: #ffffff; }
.pc-presel-cuerpo { padding: 30px 28px 20px; }
.pc-modal-presel .pc-presel-cuerpo h3 { color: #222222; font-size: 19px; font-weight: 600; text-align: center; padding: 0; margin: 0 0 16px; font-family: 'Poppins', sans-serif; }
.pc-presel-texto { color: #555555; font-size: 14px; line-height: 1.7; margin: 0 0 24px; }
.pc-presel-btn { background: #0AC3BD !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; padding: 10px 34px !important; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 15px; cursor: pointer; }
.pc-presel-btn:hover { opacity: .9; }
.pc-presel-pie { margin: 26px 0 0; color: #777777; font-size: 13px; }

/* Botones de Elementor por rol: agregar la clase pc-solo-artistas / pc-solo-empleadores */
body:not(.pc-rol-artista) .pc-solo-artistas, body:not(.pc-rol-empleador) .pc-solo-empleadores { display: none !important; }
.pc-cv-cargado { display: flex; width: fit-content; max-width: 100%; align-items: center; gap: 6px; margin-top: 8px; padding: 6px 12px; border-radius: 999px; background: none; border: 1px solid #0AC3BD; font-size: 13px; }
.pc-cv-cargado .pc-cv-check { color: #0AC3BD; font-weight: 700; background: none; border: 0; padding: 0; margin: 0; font-size: inherit; }

.pc-login-error { background: #fdecea; color: #8a1f17; border: 1px solid #f5c2bd; border-radius: 8px; padding: 10px 14px; margin: 0 0 14px; font-size: 14px; }
.pc-login-error-flotante { position: fixed; top: 16px; left: 50%; transform: translateX( -50% ); z-index: 99999; max-width: 90%; }

/* Título del rol que abre la ventana de datos del proyecto */
.pc-rol-link { font-weight: 700; text-decoration: none; cursor: pointer; transition: color .15s; }
.pc-rol-link:hover { color: #0AC3BD; text-decoration: underline; }
.pc-info-rol { margin: 0 0 20px; }
.pc-info-rol dt { font-size: 12px; text-transform: uppercase; letter-spacing: .4px; color: #a9a9b8; margin-top: 12px; }
.pc-info-rol dd { margin: 2px 0 0; font-size: 15px; color: #ffffff; }
.pc-btn-buscar-rol { display: inline-block; text-decoration: none; color: #fff !important; }

/* Modal de búsquedas: fotos de referencia separadas de la información */
.pc-modal-refs { column-count: 1; margin: 14px 0 20px; }
.pc-modal-lista.pc-modal-refs li strong { font-weight: 700; color: #ffffff; }
.pc-modal-refs .pc-ref-enlace { color: #5E69DF; text-decoration: underline; }

/* Recuperar contraseña (frontend): mismo look que el resto del portal */
.pc-recuperar { max-width: 460px; margin: 0 auto; font-family: 'Poppins', sans-serif; color: var( --pc-texto ); }
.pc-recuperar .pc-form input[type="text"], .pc-recuperar .pc-form input[type="password"] { width: 100%; box-sizing: border-box; }
.pc-recuperar .pc-form label { color: #ffffff; }
.pc-recuperar .pc-rec-ok { background: rgba(10,195,189,.12); border: 1px solid #0AC3BD; border-radius: 8px; padding: 10px 14px; }
.pc-recuperar .pc-rec-error { background: rgba(224,82,82,.12); color: #ffb4ae; border: 1px solid #e05252; border-radius: 8px; padding: 10px 14px; }
.pc-recuperar .pc-rec-ayuda { font-size: 13px; color: var( --pc-texto-suave ); margin-top: -6px; }
.pc-recuperar .pc-rec-volver { margin-top: 18px; font-size: 14px; }
.pc-recuperar a:not(.pc-btn) { color: #5E69DF; text-decoration: underline; }
.pc-recuperar a:not(.pc-btn):hover { color: #803EFA; }
/* Botones: violeta del sitio (igual que "Guardar cambios" del perfil) */
.pc-recuperar .pc-btn.pc-rec-boton {
	display: inline-block !important;
	padding: 12px 28px !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 8px !important;
	color: #ffffff !important;
	background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.pc-recuperar .pc-btn.pc-rec-boton:hover,
.pc-recuperar .pc-btn.pc-rec-boton:focus { opacity: 0.92; color: #ffffff !important; background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important; }
.pc-recuperar .pc-form-recuperar button.pc-rec-boton { width: 100%; }

/* Ícono para ver / ocultar la contraseña */
.pc-ojo-clave { position: absolute; z-index: 3; width: 32px !important; height: 32px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; cursor: pointer; display: flex !important; align-items: center; justify-content: center; color: #6b6b7b !important; line-height: 1; }
.pc-ojo-clave:hover, .pc-ojo-clave:focus { color: #5E69DF !important; background: transparent !important; outline: none; }
.pc-ojo-clave svg { width: 20px !important; height: 20px !important; min-width: 20px; flex: none; display: block; fill: none; }
input.pc-con-ojo { padding-right: 44px !important; }

/* Cartel "Instalar app" (PWA) */
#pc-pwa { position: fixed; left: 50%; bottom: 14px; z-index: 99999; box-sizing: border-box; width: calc( 100% - 24px ); max-width: 440px; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: var( --pc-bg-caja ); border: 1px solid var( --pc-borde ); border-top: 3px solid var( --pc-institucional ); border-radius: 14px; box-shadow: 0 10px 30px rgba( 0, 0, 0, .45 ); color: var( --pc-texto ); font-family: 'Poppins', sans-serif; transform: translate( -50%, 140% ); opacity: 0; transition: transform .3s ease, opacity .3s ease; }
#pc-pwa[hidden] { display: none !important; }
#pc-pwa.pc-pwa-visible { transform: translate( -50%, 0 ); opacity: 1; }
#pc-pwa .pc-pwa-icono { width: 44px; height: 44px; border-radius: 10px; flex: 0 0 44px; }
#pc-pwa .pc-pwa-cuerpo { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#pc-pwa .pc-pwa-titulo { font-size: 15px; font-weight: 600; color: #ffffff; line-height: 1.3; }
#pc-pwa .pc-pwa-texto { font-size: 13px; color: var( --pc-texto-suave ); line-height: 1.4; }
#pc-pwa .pc-pwa-ios { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var( --pc-texto ); }
#pc-pwa .pc-pwa-ios[hidden], #pc-pwa .pc-pwa-instalar[hidden] { display: none !important; }
#pc-pwa .pc-pwa-share { flex: 0 0 20px; }
#pc-pwa .pc-pwa-acciones { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
#pc-pwa .pc-pwa-instalar { padding: 10px 22px !important; font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important; color: #ffffff !important; border: none !important; border-radius: 8px !important; background: linear-gradient( 90deg, #6E56EA, #803EFA ) !important; box-shadow: none !important; cursor: pointer; transition: opacity .2s ease; }
#pc-pwa .pc-pwa-instalar:hover, #pc-pwa .pc-pwa-instalar:focus { opacity: .92; }
#pc-pwa .pc-pwa-ahora { padding: 0 !important; margin: 0 !important; font-family: 'Poppins', sans-serif !important; font-size: 13px !important; color: var( --pc-texto-suave ) !important; background: transparent !important; border: none !important; box-shadow: none !important; text-decoration: underline; cursor: pointer; }
#pc-pwa .pc-pwa-ahora:hover { color: #ffffff !important; }
